xfs: don't hold xattr leaf buffers across transaction rolls
authorDarrick J. Wong <djwong@kernel.org>
Sat, 25 Jun 2022 17:01:20 +0000 (10:01 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 29 Jun 2022 15:47:56 +0000 (08:47 -0700)
commite53bcffad0326c1ef4b4baec4262b5343e420c44
tree9b449b623d66b1c3921d0a8bcc65686578d5dd34
parent7be3bd8856fba99f8b25b9c223250e42292c312e
xfs: don't hold xattr leaf buffers across transaction rolls

Now that we've established (again!) that empty xattr leaf buffers are
ok, we no longer need to bhold them to transactions when we're creating
new leaf blocks.  Get rid of the entire mechanism, which should simplify
the xattr code quite a bit.

The original justification for using bhold here was to prevent the AIL
from trying to write the empty leaf block into the fs during the brief
time that we release the buffer lock.  The reason for /that/ was to
prevent recovery from tripping over the empty ondisk block.

Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
fs/xfs/libxfs/xfs_attr.c
fs/xfs/libxfs/xfs_attr.h
fs/xfs/libxfs/xfs_attr_leaf.c
fs/xfs/libxfs/xfs_attr_leaf.h
fs/xfs/xfs_attr_item.c