summaryrefslogtreecommitdiffstats
path: root/net/mac80211/Kconfig
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2009-08-16 20:36:34 -0400
committerFelix Blyakher <felixb@sgi.com>2009-08-18 00:57:14 -0500
commita022fe09700365c51d1f55884bca9754eb96a802 (patch)
treef70d3ed8662bfd576f58f3382b5a119a8df32433 /net/mac80211/Kconfig
parent79dd43bb85d64ba14a781f940c858d7bbe8c9a6d (diff)
downloadblackbird-op-linux-a022fe09700365c51d1f55884bca9754eb96a802.tar.gz
blackbird-op-linux-a022fe09700365c51d1f55884bca9754eb96a802.zip
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@lst.de> Reviewed-by: Felix Blyakher <felixb@sgi.com> Reviewed-by: Eric Sandeen <sandeen@sandeen.net> Signed-off-by: Felix Blyakher <felixb@sgi.com>
Diffstat (limited to 'net/mac80211/Kconfig')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud