brintos

brintos / linux-shallow public Read only

0
0
Text · 1.4 KiB · 23e480e Raw
42 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (C) STRATO AG 2012.  All rights reserved.4 */5 6#ifndef BTRFS_DEV_REPLACE_H7#define BTRFS_DEV_REPLACE_H8 9#include <linux/types.h>10#include <linux/compiler_types.h>11 12struct btrfs_ioctl_dev_replace_args;13struct btrfs_fs_info;14struct btrfs_trans_handle;15struct btrfs_dev_replace;16struct btrfs_block_group;17struct btrfs_device;18 19int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info);20int btrfs_run_dev_replace(struct btrfs_trans_handle *trans);21int btrfs_dev_replace_by_ioctl(struct btrfs_fs_info *fs_info,22			    struct btrfs_ioctl_dev_replace_args *args);23void btrfs_dev_replace_status(struct btrfs_fs_info *fs_info,24			      struct btrfs_ioctl_dev_replace_args *args);25int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info);26void btrfs_dev_replace_suspend_for_unmount(struct btrfs_fs_info *fs_info);27int btrfs_resume_dev_replace_async(struct btrfs_fs_info *fs_info);28int __pure btrfs_dev_replace_is_ongoing(struct btrfs_dev_replace *dev_replace);29bool btrfs_finish_block_group_to_copy(struct btrfs_device *srcdev,30				      struct btrfs_block_group *cache,31				      u64 physical);32void btrfs_bio_counter_inc_blocked(struct btrfs_fs_info *fs_info);33void btrfs_bio_counter_sub(struct btrfs_fs_info *fs_info, s64 amount);34 35static inline void btrfs_bio_counter_dec(struct btrfs_fs_info *fs_info)36{37	btrfs_bio_counter_sub(fs_info, 1);38}39 40 41#endif42