1 // SPDX-License-Identifier: GPL-2.0-or-later 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 2 /* 3 * Copyright (c) 2022-2024 Oracle. All Rights 3 * Copyright (c) 2022-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_RCBAG_H__ 6 #ifndef __XFS_SCRUB_RCBAG_H__ 7 #define __XFS_SCRUB_RCBAG_H__ 7 #define __XFS_SCRUB_RCBAG_H__ 8 8 9 struct xfs_mount; 9 struct xfs_mount; 10 struct rcbag; 10 struct rcbag; 11 struct xfs_buftarg; 11 struct xfs_buftarg; 12 12 13 int rcbag_init(struct xfs_mount *mp, struct xf 13 int rcbag_init(struct xfs_mount *mp, struct xfs_buftarg *btp, 14 struct rcbag **bagp); 14 struct rcbag **bagp); 15 void rcbag_free(struct rcbag **bagp); 15 void rcbag_free(struct rcbag **bagp); 16 int rcbag_add(struct rcbag *bag, struct xfs_tr 16 int rcbag_add(struct rcbag *bag, struct xfs_trans *tp, 17 const struct xfs_rmap_irec *rm 17 const struct xfs_rmap_irec *rmap); 18 uint64_t rcbag_count(const struct rcbag *bag); 18 uint64_t rcbag_count(const struct rcbag *bag); 19 19 20 int rcbag_next_edge(struct rcbag *bag, struct 20 int rcbag_next_edge(struct rcbag *bag, struct xfs_trans *tp, 21 const struct xfs_rmap_irec *ne 21 const struct xfs_rmap_irec *next_rmap, bool next_valid, 22 uint32_t *next_bnop); 22 uint32_t *next_bnop); 23 int rcbag_remove_ending_at(struct rcbag *bag, 23 int rcbag_remove_ending_at(struct rcbag *bag, struct xfs_trans *tp, 24 uint32_t next_bno); 24 uint32_t next_bno); 25 25 26 void rcbag_dump(struct rcbag *bag, struct xfs_ 26 void rcbag_dump(struct rcbag *bag, struct xfs_trans *tp); 27 27 28 #endif /* __XFS_SCRUB_RCBAG_H__ */ 28 #endif /* __XFS_SCRUB_RCBAG_H__ */ 29 29
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.