xfs
[Top] [All Lists]

[XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-1260-ga022fe0
From: xfs@xxxxxxxxxxx
Date: Tue, 18 Aug 2009 00:58:18 -0500
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "XFS development tree".

The branch, master has been updated
  a022fe0 xfs: fix locking in xfs_iget_cache_hit
      from  79dd43bb85d64ba14a781f940c858d7bbe8c9a6d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a022fe09700365c51d1f55884bca9754eb96a802
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Sun Aug 16 20:36:34 2009 -0400

    xfs: fix locking in xfs_iget_cache_hit
    
    The locking in xfs_iget_cache_hit currently has numerous problems:
    
     - we clear the reclaim tag without i_flags_lock which protects
       modifications to it
     - we call inode_init_always which can sleep with pag_ici_lock
       held (this is oss.sgi.com BZ #819)
     - we acquire and drop i_flags_lock a lot and thus provide no
       consistency between the various flags we set/clear under it
    
    This patch fixes all that with a major revamp of the locking in
    the function.  The new version acquires i_flags_lock early and
    only drops it once we need to call into inode_init_always or before
    calling xfs_ilock.
    
    This patch fixes a bug seen in the wild where we race modifying the
    reclaim tag.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Felix Blyakher <felixb@xxxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
    Signed-off-by: Felix Blyakher <felixb@xxxxxxx>

-----------------------------------------------------------------------

Summary of changes:
 fs/xfs/linux-2.6/xfs_sync.c |   13 ++++-
 fs/xfs/linux-2.6/xfs_sync.h |    1 +
 fs/xfs/xfs_iget.c           |  113 ++++++++++++++++++++++---------------------
 3 files changed, 70 insertions(+), 57 deletions(-)


hooks/post-receive
-- 
XFS development tree

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-1260-ga022fe0, xfs <=