1 // SPDX-License-Identifier: GPL-2.0-or-later 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 2 /* 3 * Copyright (c) 2020-2024 Oracle. All Rights 3 * Copyright (c) 2020-2024 Oracle. All Rights Reserved. 4 * Author: Darrick J. Wong <djwong@kernel.org> 4 * Author: Darrick J. Wong <djwong@kernel.org> 5 */ 5 */ 6 #ifndef __XFS_SCRUB_RTSUMMARY_H__ 6 #ifndef __XFS_SCRUB_RTSUMMARY_H__ 7 #define __XFS_SCRUB_RTSUMMARY_H__ 7 #define __XFS_SCRUB_RTSUMMARY_H__ 8 8 9 struct xchk_rtsummary { 9 struct xchk_rtsummary { 10 #ifdef CONFIG_XFS_ONLINE_REPAIR 10 #ifdef CONFIG_XFS_ONLINE_REPAIR 11 struct xrep_tempexch tempexch; 11 struct xrep_tempexch tempexch; 12 #endif 12 #endif 13 struct xfs_rtalloc_args args; 13 struct xfs_rtalloc_args args; 14 14 15 uint64_t rextents; 15 uint64_t rextents; 16 uint64_t rbmblocks; 16 uint64_t rbmblocks; 17 xfs_filblks_t rsumblocks; !! 17 uint64_t rsumsize; 18 unsigned int rsumlevels; 18 unsigned int rsumlevels; 19 unsigned int resblks; 19 unsigned int resblks; 20 20 21 /* suminfo position of xfile as we wri 21 /* suminfo position of xfile as we write buffers to disk. */ 22 xfs_rtsumoff_t prep_wordoff; 22 xfs_rtsumoff_t prep_wordoff; 23 23 24 /* Memory buffer for the summary compa 24 /* Memory buffer for the summary comparison. */ 25 union xfs_suminfo_raw words[]; 25 union xfs_suminfo_raw words[]; 26 }; 26 }; 27 27 28 int xfsum_copyout(struct xfs_scrub *sc, xfs_rt 28 int xfsum_copyout(struct xfs_scrub *sc, xfs_rtsumoff_t sumoff, 29 union xfs_suminfo_raw *rawinfo 29 union xfs_suminfo_raw *rawinfo, unsigned int nr_words); 30 30 31 #ifdef CONFIG_XFS_ONLINE_REPAIR 31 #ifdef CONFIG_XFS_ONLINE_REPAIR 32 int xrep_setup_rtsummary(struct xfs_scrub *sc, 32 int xrep_setup_rtsummary(struct xfs_scrub *sc, struct xchk_rtsummary *rts); 33 #else 33 #else 34 # define xrep_setup_rtsummary(sc, rts) (0) 34 # define xrep_setup_rtsummary(sc, rts) (0) 35 #endif /* CONFIG_XFS_ONLINE_REPAIR */ 35 #endif /* CONFIG_XFS_ONLINE_REPAIR */ 36 36 37 #endif /* __XFS_SCRUB_RTSUMMARY_H__ */ 37 #endif /* __XFS_SCRUB_RTSUMMARY_H__ */ 38 38
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.