On 10/02/2012 04:51 PM, Dave Chinner wrote: > On Tue, Oct 02, 2012 at 09:01:33AM -0400, Brian Foster wrote: >> On 10/01/2012 08:44 PM, Brian Foster wrote: >>> On 10/01/2012 08:10 PM, Dave Chinner wrote: >> ... >>> ... > > I don't think we can do an unconditional down_read() there, as the > caller from xfs_create() already holds an i_mutex (the VFS holds the > directory inode lock) and I'm pretty sure that s_umount is supposed > to be outside per-inode locks. > > Given that where we are called we are inside a transaction for the > create case, and inside mnt_want_write() protection for the buffered > write case, the likelyhood of s_umount being held for write at > ENOSPC is going to be non-existent at these call sites. Hence a > down_read_trylock() will avoid lock ordering issues, but will almost > always succeed and so be equivalent to down_read().... > Ok... > /me modifies and runs 273 and the enospc xfstests group... > > Seems to work just fine, and no warnings. Patch below. > This passes 273 clean (save the xlog_verify_grant_tail message) for me as well. Thanks. Brian > Cheers, > > Dave. > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs