]> git.karo-electronics.de Git - karo-tx-linux.git/commit
xfs: avoid synchronous transactions when deleting attr blocks
authorChristoph Hellwig <hch@infradead.org>
Sat, 27 Aug 2011 14:45:11 +0000 (14:45 +0000)
committerAlex Elder <aelder@sgi.com>
Mon, 12 Sep 2011 18:52:04 +0000 (13:52 -0500)
commitb73d8f7667aa82ece204a9a2e5467b54a8ecd059
tree2c43e4ceb815172e52af8b0a08678570bea21540
parent1baaffdc386f83b85c1e91e7b25f0db02848ca59
xfs: avoid synchronous transactions when deleting attr blocks

Currently xfs_attr_inactive causes a synchronous transactions if we are
removing a file that has any extents allocated to the attribute fork, and
thus makes XFS extremely slow at removing files with out of line extended
attributes. The code looks a like a relict from the days before the busy
extent list, but with the busy extent list we avoid reusing data and attr
extents that have been freed but not commited yet, so this code is just
as superflous as the synchronous transactions for data blocks.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Bernd Schubert <bernd.schubert@itwm.fraunhofer.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/xfs_attr.c
fs/xfs/xfs_bmap.c