On Fri, 23 Mar 2012 14:14:54 -0700 (PDT) Hugh Dickins <hughd@xxxxxxxxxx> wrote: > On Fri, 23 Mar 2012, Andrew Morton wrote: > > > > --- a/mm/truncate.c~mm-for-fs-add-truncate_pagecache_range-fix > > +++ a/mm/truncate.c > > @@ -639,6 +639,9 @@ int vmtruncate_range(struct inode *inode > > * with on-disk format, and the filesystem would not have to deal with > > * situations such as writepage being called for a page that has already > > * had its underlying blocks deallocated. > > + * > > + * Must be called with inode->i_mapping->i_mutex held. > > You catch me offguard: I forget whether that's an absolute requirement or > just commonly the case. What do the other interfaces in truncate.c say ?-) i_mutex is generally required, to stabilise i_size. > > + * Takes inode->i_mapping->i_mmap_mutex. > > Yes, and inode->i_mapping->tree_lock. I don't think it's necessary to get into the spinning locks for a high-level function which clearly does sleeping things. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html