Description of problem:
From upstream commit b73d8f7667aa82ece204a9a2e5467b54a8ecd059:
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.
This is a significant performance issue for RHEL since we have selinux
on by default, and this makes it more likely for other xattrs to exist out of line.
Version-Release number of selected component (if applicable):
RHEL 6.2 beta
every time, with the right sized xattrs
Steps to Reproduce:
1. create a large directory tree with many files containing xattrs large enough to go out of line
2. time rm -rf the top level directory
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update release.
I'll pick this one up, Eric.
Patch(es) available on kernel-2.6.32-203.el6
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.