diff options
author | Darrick J. Wong <djwong@kernel.org> | 2024-04-22 09:47:31 -0700 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2024-04-23 07:46:54 -0700 |
commit | 0aeeeb796980f74bf87ef175335ee1a9a1229767 (patch) | |
tree | 26b0ffc859eebe350ed67dc0c6d180b426d2e764 /fs/xfs | |
parent | 1c7f09d210aba2f2bb206e2e8c97c9f11a3fd880 (diff) | |
download | linux-stable-0aeeeb796980f74bf87ef175335ee1a9a1229767.tar.gz linux-stable-0aeeeb796980f74bf87ef175335ee1a9a1229767.tar.bz2 linux-stable-0aeeeb796980f74bf87ef175335ee1a9a1229767.zip |
xfs: always set args->value in xfs_attri_item_recover
Always set args->value to the recovered value buffer. This reduces the
amount of code in the switch statement, and hence the amount of thinking
that I have to do. We validated the recovered buffers, supposedly.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/xfs_attr_item.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/xfs/xfs_attr_item.c b/fs/xfs/xfs_attr_item.c index ebd6e98d9c66..8a13e2840692 100644 --- a/fs/xfs/xfs_attr_item.c +++ b/fs/xfs/xfs_attr_item.c @@ -572,6 +572,8 @@ xfs_attri_recover_work( args->name = nv->name.i_addr; args->namelen = nv->name.i_len; args->hashval = xfs_da_hashname(args->name, args->namelen); + args->value = nv->value.i_addr; + args->valuelen = nv->value.i_len; args->attr_filter = attrp->alfi_attr_filter & XFS_ATTRI_FILTER_MASK; args->op_flags = XFS_DA_OP_RECOVERY | XFS_DA_OP_OKNOENT | XFS_DA_OP_LOGGED; @@ -580,8 +582,6 @@ xfs_attri_recover_work( switch (xfs_attr_intent_op(attr)) { case XFS_ATTRI_OP_FLAGS_SET: case XFS_ATTRI_OP_FLAGS_REPLACE: - args->value = nv->value.i_addr; - args->valuelen = nv->value.i_len; args->total = xfs_attr_calc_size(args, &local); if (xfs_inode_hasattr(args->dp)) attr->xattri_dela_state = xfs_attr_init_replace_state(args); |