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