attr.h 876 B

12345678910111213141516171819202122232425262728293031
  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. * Temporary storage for online scrub and repair of extended attributes.
  10. */
  11. struct xchk_xattr_buf {
  12. /* Bitmap of used space in xattr leaf blocks and shortform forks. */
  13. unsigned long *usedmap;
  14. /* Bitmap of free space in xattr leaf blocks. */
  15. unsigned long *freemap;
  16. /* Memory buffer used to hold salvaged xattr names. */
  17. unsigned char *name;
  18. /* Memory buffer used to extract xattr values. */
  19. void *value;
  20. size_t value_sz;
  21. };
  22. bool xchk_xattr_set_map(struct xfs_scrub *sc, unsigned long *map,
  23. unsigned int start, unsigned int len);
  24. int xchk_setup_xattr_buf(struct xfs_scrub *sc, size_t value_size);
  25. #endif /* __XFS_SCRUB_ATTR_H__ */