diff options
author | Darrick J. Wong <djwong@kernel.org> | 2022-05-22 15:59:34 +1000 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2022-05-22 15:59:34 +1000 |
commit | 4d0cdd2bb8f0bf1a30d361f14bafc428794551e0 (patch) | |
tree | 83a2dc3a763aa5e384b77c7f837e2fa6fa4cad48 /fs/xfs/libxfs/xfs_da_btree.h | |
parent | 2fe3ffcf5592f24a9f9131a91727673d19f2b2d9 (diff) | |
download | linux-4d0cdd2bb8f0bf1a30d361f14bafc428794551e0.tar.bz2 |
xfs: clean up xfs_attr_node_hasname
The calling conventions of this function are a mess -- callers /can/
provide a pointer to a pointer to a state structure, but it's not
required, and as evidenced by the last two patches, the callers that do
weren't be careful enough about how to deal with an existing da state.
Push the allocation and freeing responsibilty to the callers, which
means that callers from the xattr node state machine steps now have the
visibility to allocate or free the da state structure as they please.
As a bonus, the node remove/add paths for larp-mode replaces can reset
the da state structure instead of freeing and immediately reallocating
it.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_da_btree.h')
-rw-r--r-- | fs/xfs/libxfs/xfs_da_btree.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h index ed2303e4d46a..d33b7686a0b3 100644 --- a/fs/xfs/libxfs/xfs_da_btree.h +++ b/fs/xfs/libxfs/xfs_da_btree.h @@ -225,6 +225,7 @@ enum xfs_dacmp xfs_da_compname(struct xfs_da_args *args, struct xfs_da_state *xfs_da_state_alloc(struct xfs_da_args *args); void xfs_da_state_free(xfs_da_state_t *state); +void xfs_da_state_reset(struct xfs_da_state *state, struct xfs_da_args *args); void xfs_da3_node_hdr_from_disk(struct xfs_mount *mp, struct xfs_da3_icnode_hdr *to, struct xfs_da_intnode *from); |