fs/xfs/scrub/rcbag.h

Source file repositories/reference/linux-study-clean/fs/xfs/scrub/rcbag.h

File Facts

System
Linux kernel
Corpus path
fs/xfs/scrub/rcbag.h
Extension
.h
Size
862 bytes
Lines
29
Domain
Core OS
Bucket
VFS And Filesystem Core
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (c) 2022-2024 Oracle.  All Rights Reserved.
 * Author: Darrick J. Wong <djwong@kernel.org>
 */
#ifndef __XFS_SCRUB_RCBAG_H__
#define __XFS_SCRUB_RCBAG_H__

struct xfs_mount;
struct rcbag;
struct xfs_buftarg;

int rcbag_init(struct xfs_mount *mp, struct xfs_buftarg *btp,
		struct rcbag **bagp);
void rcbag_free(struct rcbag **bagp);
int rcbag_add(struct rcbag *bag, struct xfs_trans *tp,
		const struct xfs_rmap_irec *rmap);
uint64_t rcbag_count(const struct rcbag *bag);

int rcbag_next_edge(struct rcbag *bag, struct xfs_trans *tp,
		const struct xfs_rmap_irec *next_rmap, bool next_valid,
		uint32_t *next_bnop);
int rcbag_remove_ending_at(struct rcbag *bag, struct xfs_trans *tp,
		uint32_t next_bno);

void rcbag_dump(struct rcbag *bag, struct xfs_trans *tp);

#endif /* __XFS_SCRUB_RCBAG_H__ */

Annotation

Implementation Notes