]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blame - scrub/read_verify.h
xfs: convert xfs_extlen_t to xfs_rtxlen_t in the rt allocator
[thirdparty/xfsprogs-dev.git] / scrub / read_verify.h
CommitLineData
8d318d62 1// SPDX-License-Identifier: GPL-2.0-or-later
2000470d 2/*
52520522 3 * Copyright (C) 2018-2024 Oracle. All Rights Reserved.
8d318d62 4 * Author: Darrick J. Wong <djwong@kernel.org>
2000470d
DW
5 */
6#ifndef XFS_SCRUB_READ_VERIFY_H_
7#define XFS_SCRUB_READ_VERIFY_H_
8
9struct scrub_ctx;
10struct read_verify_pool;
f1bb1696 11struct disk;
2000470d
DW
12
13/* Function called when an IO error happens. */
14typedef void (*read_verify_ioerr_fn_t)(struct scrub_ctx *ctx,
15 struct disk *disk, uint64_t start, uint64_t length,
16 int error, void *arg);
17
8cab77d3
DW
18int read_verify_pool_alloc(struct scrub_ctx *ctx, struct disk *disk,
19 size_t miniosz, read_verify_ioerr_fn_t ioerr_fn,
20 unsigned int submitter_threads,
21 struct read_verify_pool **prvp);
4cd869e5 22void read_verify_pool_abort(struct read_verify_pool *rvp);
8cab77d3 23int read_verify_pool_flush(struct read_verify_pool *rvp);
2000470d
DW
24void read_verify_pool_destroy(struct read_verify_pool *rvp);
25
8cab77d3 26int read_verify_schedule_io(struct read_verify_pool *rvp, uint64_t start,
f1bb1696 27 uint64_t length, void *end_arg);
8cab77d3
DW
28int read_verify_force_io(struct read_verify_pool *rvp);
29int read_verify_bytes(struct read_verify_pool *rvp, uint64_t *bytes);
2000470d
DW
30
31#endif /* XFS_SCRUB_READ_VERIFY_H_ */