forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
btrfs: introduce BTRFS_IOC_SCRUB_FS family of ioctls
The new ioctls are to address the disadvantages of the existing btrfs_scrub_dev(): a One thread per-device This can cause multiple block groups to be marked read-only for scrub, reducing available space temporarily. This also causes higher CPU/IO usage. For scrub, we should use the minimal amount of CPU and cause less IO when possible. b Extra IO for RAID56 For data stripes, we will cause at least 2x IO if we run "btrfs scrub start <mnt>". 1x from scrubbing the device of data stripe. The other 1x from scrubbing the parity stripe. This duplicated IO should definitely be avoided c Bad progress report for RAID56 We can not report any repaired P/Q bytes at all. The a and b will be addressed by the new one thread per-fs btrfs_scrub_fs ioctl. While c will be addressed by the new btrfs_scrub_fs_progress structure, which has better comments and classification for all errors. This patch is only a skeleton for the new family of ioctls, will return -EOPNOTSUPP for now. Signed-off-by: Qu Wenruo <wqu@suse.com>
- Loading branch information
1 parent
1e6d408
commit 8f7e2c1
Showing
2 changed files
with
179 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters