32 lines
		
	
	
		
			876 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			876 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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__ */
 |