On Wed, Aug 31, 2011 at 05:33:25PM -0700, 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? No. > I do not know if other file systems need i_mutex to be locked for > fallocate, For one, XFS does not require i_mutex to be held for any extent manipulation of any kind (allocation, truncation, hole punch, unwritten extent conversion, etc). Hence the current structure of having the filesystem take i_mutex if it needs it to protect allocations against races is appropriate. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html