]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xfs: avoid synchronous transactions when deleting attr blocks
authorChristoph Hellwig <hch@infradead.org>
Mon, 12 Dec 2011 22:22:46 +0000 (17:22 -0500)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Tue, 10 Jan 2012 21:00:14 +0000 (13:00 -0800)
commitffc2db49c6ee28888f8f80fc227fb2eaf8753834
tree0dedc983ef7712c766ee57ebff0ba90c74e77cd7
parent0a830b7d65514bb988e9ff3bf40cbd8c2d20a0c1
xfs: avoid synchronous transactions when deleting attr blocks

commit 859f57ca00805e6c482eef1a7ab073097d02c8ca upstream.

[slightly different from the upstream version because of a previous cleanup]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/xfs/xfs_attr.c
fs/xfs/xfs_bmap.c
fs/xfs/xfs_inode.c