/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2019-2023 Oracle. All Rights Reserved. * Author: Darrick J. Wong <djwong@kernel.org> */ #ifndef __XFS_SCRUB_ATTR_H__ #define __XFS_SCRUB_ATTR_H__ /* * Temporary storage for online scrub and repair of extended attributes. */ struct xchk_xattr_buf { /* Bitmap of used space in xattr leaf blocks and shortform forks. */ unsigned long *usedmap; /* Bitmap of free space in xattr leaf blocks. */ unsigned long *freemap; /* Memory buffer used to hold salvaged xattr names. */ unsigned char *name; /* Memory buffer used to extract xattr values. */ void *value; size_t value_sz; }; bool xchk_xattr_set_map(struct xfs_scrub *sc, unsigned long *map, unsigned int start, unsigned int len); int xchk_setup_xattr_buf(struct xfs_scrub *sc, size_t value_size); #endif /* __XFS_SCRUB_ATTR_H__ */