32 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * Copyright (C) 2019-2023 Oracle. All Rights Reserved.4 * Author: Darrick J. Wong <djwong@kernel.org>5 */6#ifndef __XFS_SCRUB_ATTR_H__7#define __XFS_SCRUB_ATTR_H__8 9/*10 * Temporary storage for online scrub and repair of extended attributes.11 */12struct xchk_xattr_buf {13 /* Bitmap of used space in xattr leaf blocks and shortform forks. */14 unsigned long *usedmap;15 16 /* Bitmap of free space in xattr leaf blocks. */17 unsigned long *freemap;18 19 /* Memory buffer used to hold salvaged xattr names. */20 unsigned char *name;21 22 /* Memory buffer used to extract xattr values. */23 void *value;24 size_t value_sz;25};26 27bool xchk_xattr_set_map(struct xfs_scrub *sc, unsigned long *map,28 unsigned int start, unsigned int len);29int xchk_setup_xattr_buf(struct xfs_scrub *sc, size_t value_size);30 31#endif /* __XFS_SCRUB_ATTR_H__ */32