[PATCH 06/13] xfs: xfs_sync_data is redundant.

Brian Foster bfoster at redhat.com
Tue Oct 2 16:13:27 CDT 2012


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.
> 



More information about the xfs mailing list