Re: lock i_mutex for fallocate?

From: Josef Bacik
Date: Thu Sep 01 2011 - 13:59:48 EST


On Wed, Aug 31, 2011 at 06:12:04PM -0700, Allison Henderson wrote:
> Oh, I meant for this to go to linux-fsdevel instead of linux-kernel, but
> all feedback is welcome! :)
>
> On 08/31/2011 05:33 PM, Allison Henderson wrote:
>> Hi All,
>>
>> In ext4 punch hole, we realized that the punch hole operation needs to
>> be done under i_mutex just like truncate. i_mutex for truncate is held
>> in the vfs layer, so we dont need to lock it at the file system layer,
>> but vfs does not lock i_mutex for fallocate. We can lock i_mutex for
>> fallocate at the fs layer, but question was raised then: should i_mutex
>> for fallocate be held in the vfs layer instead? I do not know if other
>> file systems need i_mutex to be locked for fallocate, or if they might
>> be locking it already, so I am doing some investigating on this idea,
>> and also the appropriate use of i_mutex in general. Can someone provide
>> some insight this topic? Thx!
>>

Btrfs has range locking for our extents, so we don't really need to be holding
the i_mutex, even tho it appears we do it anyway. So I'd rather this not be
moved to VFS for us who can do more fine grained locking. Thanks,

Josef
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/