Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
9struct 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 uint64_t rsumsize;
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
28int 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
32int 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__ */