btrfs-progs/common
Naohiro Aota edd80fbde3 btrfs-progs: support byte length for zone resetting
Even with "mkfs.btrfs -b", mkfs.btrfs resets all the zones on the device.
Limit the reset target within the specified length.

Also, we need to check that there is no active zone outside of the FS
range. Having an active zone outside FS reduces the number of zones btrfs
can write simultaneously. Technically, we can still scan all the device
zones and keep active zones outside FS intact and try to live with the
limited active zones. But, that will make btrfs operations harder.

It is generally bad idea to use "-b" on a non-test usage on a device with
active zone limit in the first place. You really need to take care that FS
and outside the FS goes over the limit. That means you'll never be able to
use zones outside the FS anyway.

So, until there is a strong request for that, I don't think it's worthwhile
to do so.

Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-06-03 21:26:39 +02:00
..
array.c btrfs-progs: add an extensible pointer array struct 2023-08-28 17:24:24 +02:00
array.h btrfs-progs: add an extensible pointer array struct 2023-08-28 17:24:24 +02:00
box.h btrfs-progs: add btrfs-find-root to btrfs.box 2023-07-26 15:00:48 +02:00
clear-cache.c btrfs-progs: handle btfs_del_items() failure in truncate_free_ino_items() 2024-03-15 00:07:40 +01:00
clear-cache.h btrfs-progs: move clear-cache.[ch] from check/ to common/ directory 2023-10-13 18:13:12 +02:00
cpu-utils.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
cpu-utils.h btrfs-progs: detect PCLMUL CPU support for accelerated crc32c 2023-09-13 00:38:50 +02:00
defs.h btrfs-progs: move common-defs to common/ 2020-03-31 18:37:35 +02:00
device-scan.c btrfs-progs: fix freeing of device after error in btrfs_add_to_fsid() 2024-04-18 19:16:15 +02:00
device-scan.h btrfs-progs: replace btrfs_open_dir with btrfs_open_dir_fd 2024-02-20 11:40:08 +01:00
device-utils.c btrfs-progs: support byte length for zone resetting 2024-06-03 21:26:39 +02:00
device-utils.h btrfs-progs: convert defined constants to enums 2024-02-08 08:30:37 +01:00
extent-cache.c btrfs-progs: make all parameters of rb_tree search/insert const 2024-03-12 21:43:54 +01:00
extent-cache.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
extent-tree-utils.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
extent-tree-utils.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
filesystem-utils.c btrfs-progs: handle transaction start failure in set_label_unmounted() 2024-03-15 01:53:25 +01:00
filesystem-utils.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
format-output.c btrfs-progs: properly close va_copy in fmt_set_unquoted() 2024-04-18 19:16:15 +02:00
format-output.h btrfs-progs: rename time-long format name to date-time 2023-08-28 17:24:23 +02:00
fsfeatures.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
fsfeatures.h btrfs-progs: convert: add raid-stripe-tree to allowed features 2024-01-31 09:49:43 +01:00
help.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
help.h btrfs-progs: add support for dry-run options 2023-11-03 18:04:37 +01:00
inject-error.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
inject-error.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
internal.h btrfs-progs: pull in the full max/min/clamp implementation from kernel 2023-10-10 19:16:29 +02:00
messages.c btrfs-progs: handle write errors in btrfs_add_to_fsid() 2024-03-16 22:25:50 +01:00
messages.h btrfs-progs: handle write errors in btrfs_add_to_fsid() 2024-03-16 22:25:50 +01:00
open-utils.c btrfs-progs: rename btrfs_open_fd2() to btrfs_open_path() 2024-02-20 12:59:29 +01:00
open-utils.h btrfs-progs: rename btrfs_open_fd2() to btrfs_open_path() 2024-02-20 12:59:29 +01:00
parse-utils.c btrfs-progs: implement arg_strtou64_with_suffix() with a new helper 2024-01-18 02:14:23 +01:00
parse-utils.h btrfs-progs: implement arg_strtou64_with_suffix() with a new helper 2024-01-18 02:14:23 +01:00
path-utils.c btrfs-progs: use POSIX semantics of basename 2024-04-30 21:34:40 +02:00
path-utils.h btrfs-progs: use POSIX semantics of basename 2024-04-30 21:34:40 +02:00
rbtree-utils.c btrfs-progs: make all parameters of rb_tree search/insert const 2024-03-12 21:43:54 +01:00
rbtree-utils.h btrfs-progs: make all parameters of rb_tree search/insert const 2024-03-12 21:43:54 +01:00
send-stream.c btrfs-progs: receive: fix reading header on strict alignment hosts 2024-05-25 00:37:51 +02:00
send-stream.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
send-utils.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
send-utils.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
sort-utils.c btrfs-progs: add sorting API 2023-08-28 17:24:24 +02:00
sort-utils.h btrfs-progs: add sorting API 2023-08-28 17:24:24 +02:00
string-table.c btrfs-progs: string-table: fix memory leak on exit path in table_vprintf() 2024-04-18 19:16:15 +02:00
string-table.h btrfs-progs: string-table: add ranged API for printing and clearing 2022-12-05 20:32:02 +01:00
string-utils.c btrfs-progs: implement arg_strtou64_with_suffix() with a new helper 2024-01-18 02:14:23 +01:00
string-utils.h btrfs-progs: implement arg_strtou64_with_suffix() with a new helper 2024-01-18 02:14:23 +01:00
sysfs-utils.c btrfs-progs: change all sysfs helpers to return errno 2023-12-09 01:17:22 +01:00
sysfs-utils.h btrfs-progs: add write helpers for sysfs files 2023-12-09 01:17:22 +01:00
task-utils.c btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
task-utils.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
tree-search.h btrfs-progs: add API for selecting tree search support and ioctl 2024-03-16 18:08:38 +01:00
units.c btrfs-progs: introduce UASSERT() for purely userspace code 2023-05-26 18:02:28 +02:00
units.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
utils.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
utils.h btrfs-progs: convert: insert a dummy inode item before inode ref for ext2/4 2024-01-17 01:47:39 +01:00