[Top] [All Lists]

[XFS updates] XFS development tree branch, for-linus, updated. v2.6.30-r

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, for-linus, updated. v2.6.30-rc4-12441-gbc990f5
From: xfs@xxxxxxxxxxx
Date: Mon, 17 Aug 2009 01:28:07 -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, for-linus has been updated
  bc990f5 xfs: fix locking in xfs_iget_cache_hit
  78efd1d Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
  b36ec04 xfs: fix freeing of inodes not yet added to the inode cache
  54e3462 vfs: fix inode_init_always calling convention
  f5266cb Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
  405f557 headers: smp_lock.h redux
  8aa7e84 Fix congestion_wait() sync/async vs read/write confusion
  1cbd20d switch xfs to generic acl caching helpers
  90c699a block: rename CONFIG_LBD to CONFIG_LBDAF
      from  a8914f3a6d72c97328597a556a99daaf5cc288ae (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 bc990f5cb424cdca9dda866785d088e2c2110ecc
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/kmem.c      |    4 +-
 fs/xfs/linux-2.6/xfs_acl.c   |   73 ++-----------
 fs/xfs/linux-2.6/xfs_buf.c   |    2 +-
 fs/xfs/linux-2.6/xfs_file.c  |    1 -
 fs/xfs/linux-2.6/xfs_linux.h |    2 +-
 fs/xfs/linux-2.6/xfs_super.c |    2 +-
 fs/xfs/linux-2.6/xfs_sync.c  |   13 ++-
 fs/xfs/linux-2.6/xfs_sync.h  |    1 +
 fs/xfs/xfs_acl.h             |    4 -
 fs/xfs/xfs_iget.c            |  255 +++++++++++++++++++++---------------------
 fs/xfs/xfs_inode.h           |   22 ----
 11 files changed, 156 insertions(+), 223 deletions(-)

XFS development tree

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, for-linus, updated. v2.6.30-rc4-12441-gbc990f5, xfs <=