[XFS updates] XFS development tree branch, for-linus, updated. v2.6.30-rc4-12441-gbc990f5
xfs at oss.sgi.com
xfs at oss.sgi.com
Mon Aug 17 01:28:07 CDT 2009
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 at infradead.org>
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 at lst.de>
Reviewed-by: Felix Blyakher <felixb at sgi.com>
Reviewed-by: Eric Sandeen <sandeen at sandeen.net>
Signed-off-by: Felix Blyakher <felixb at sgi.com>
-----------------------------------------------------------------------
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(-)
hooks/post-receive
--
XFS development tree
More information about the xfs
mailing list