Loading...
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2018-2023 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <djwong@kernel.org>
5 */
6#ifndef __XFS_SCRUB_QUOTA_H__
7#define __XFS_SCRUB_QUOTA_H__
8
9xfs_dqtype_t xchk_quota_to_dqtype(struct xfs_scrub *sc);
10
11/* dquot iteration code */
12
13struct xchk_dqiter {
14 struct xfs_scrub *sc;
15
16 /* Quota file that we're walking. */
17 struct xfs_inode *quota_ip;
18
19 /* Cached data fork mapping for the dquot. */
20 struct xfs_bmbt_irec bmap;
21
22 /* The next dquot to scan. */
23 uint64_t id;
24
25 /* Quota type (user/group/project). */
26 xfs_dqtype_t dqtype;
27
28 /* Data fork sequence number to detect stale mappings. */
29 unsigned int if_seq;
30};
31
32void xchk_dqiter_init(struct xchk_dqiter *cursor, struct xfs_scrub *sc,
33 xfs_dqtype_t dqtype);
34int xchk_dquot_iter(struct xchk_dqiter *cursor, struct xfs_dquot **dqpp);
35
36#endif /* __XFS_SCRUB_QUOTA_H__ */
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2018-2023 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <djwong@kernel.org>
5 */
6#ifndef __XFS_SCRUB_QUOTA_H__
7#define __XFS_SCRUB_QUOTA_H__
8
9xfs_dqtype_t xchk_quota_to_dqtype(struct xfs_scrub *sc);
10
11/* dquot iteration code */
12
13struct xchk_dqiter {
14 struct xfs_scrub *sc;
15
16 /* Quota file that we're walking. */
17 struct xfs_inode *quota_ip;
18
19 /* Cached data fork mapping for the dquot. */
20 struct xfs_bmbt_irec bmap;
21
22 /* The next dquot to scan. */
23 uint64_t id;
24
25 /* Quota type (user/group/project). */
26 xfs_dqtype_t dqtype;
27
28 /* Data fork sequence number to detect stale mappings. */
29 unsigned int if_seq;
30};
31
32void xchk_dqiter_init(struct xchk_dqiter *cursor, struct xfs_scrub *sc,
33 xfs_dqtype_t dqtype);
34int xchk_dquot_iter(struct xchk_dqiter *cursor, struct xfs_dquot **dqpp);
35
36#endif /* __XFS_SCRUB_QUOTA_H__ */