btrfs-progs/kernel-shared
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
..
uapi btrfs-progs: use unsigned types for bit shifts 2024-03-12 22:05:09 +01:00
accessors.c btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
accessors.h btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
async-thread.c btrfs-progs: pull in the full max/min/clamp implementation from kernel 2023-10-10 19:16:29 +02:00
async-thread.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
backref.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
backref.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
compression.h btrfs-progs: minor source sync with kernel 6.8 2024-03-12 21:22:56 +01:00
ctree.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
ctree.h btrfs-progs: minor source sync with kernel 6.8 2024-03-12 21:22:56 +01:00
delayed-ref.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
delayed-ref.h btrfs-progs: minor source sync with kernel 6.8 2024-03-12 21:22:56 +01:00
dir-item.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
disk-io.c btrfs-progs: make all parameters of rb_tree search/insert const 2024-03-12 21:43:54 +01:00
disk-io.h btrfs-progs: use unsigned types for bit shifts 2024-03-12 22:05:09 +01:00
extent_io.c btrfs-progs: fix double free on error in read_raid56() 2024-04-18 19:16:15 +02:00
extent_io.h btrfs-progs: use unsigned types for bit shifts 2024-03-12 22:05:09 +01:00
extent-io-tree.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
extent-io-tree.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
extent-tree.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
file-item.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
file-item.h btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
file.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
free-space-cache.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
free-space-cache.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
free-space-tree.c btrfs-progs: minor source sync with kernel 6.8 2024-03-12 21:22:56 +01:00
free-space-tree.h btrfs-progs: minor source sync with kernel 6.8 2024-03-12 21:22:56 +01:00
inode-item.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
inode.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
locking.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
locking.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
messages.c btrfs-progs: minor source sync with kernel 6.8 2024-03-12 21:22:56 +01:00
messages.h btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
misc.h btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
print-tree.c btrfs-progs: dump-tree: support simple quota mode status flags 2024-05-10 15:20:16 +02:00
print-tree.h btrfs-progs: use unsigned types for bit shifts 2024-03-12 22:05:09 +01:00
README.md btrfs-progs: add README to kernel-shared tracking the progress 2023-05-26 18:02:32 +02:00
root-tree.c btrfs-progs: minor source sync with kernel 6.8 2024-03-12 21:22:56 +01:00
send.h btrfs-progs: enable send v3 correctly (use EXPERIMENTAL instead of CONFIG_BTRFS_DEBUG) 2024-03-18 23:19:52 +01:00
transaction.c btrfs-progs: kernel-shared: use kmalloc and kfree 2023-11-03 18:04:37 +01:00
transaction.h btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
tree-checker.c btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
tree-checker.h btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
tree-mod-log.h btrfs-progs: sync and stub-out tree-mod-log.h 2023-05-26 18:02:29 +02:00
ulist.c btrfs-progs: minor source sync with kernel 6.8-rc3 2024-02-08 09:30:16 +01:00
ulist.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
uuid-tree.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
volumes.c btrfs-progs: reorder key initializations 2024-04-30 21:49:15 +02:00
volumes.h btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
zoned.c btrfs-progs: support byte length for zone resetting 2024-06-03 21:26:39 +02:00
zoned.h btrfs-progs: support byte length for zone resetting 2024-06-03 21:26:39 +02:00

Shared sources with kernel

Status and progress of kernel/userspace synchronization.

  • accessors.c - done, local changes
  • accessors.h - done, local changes
  • async-thread.c - done
  • async-thread.h - done
  • backref.c - todo
  • backref.h - todo
  • compression.h - done
  • ctree.c - partial
  • ctree.h - partial
  • delayed-ref.c - partial
  • delayed-ref.h - partial
  • dir-item.c - partial
  • disk-io.c - todo
  • disk-io.h - todo
  • extent_io.c
  • extent_io.h
  • extent-io-tree.c - done, local changes
  • extent-io-tree.h - done, local changes
  • extent-tree.c - todo
  • file.c - todo
  • file-item.c - todo
  • file-item.h - partial
  • free-space-cache.c - not needed
  • free-space-cache.h - not needed
  • free-space-tree.c - partial
  • free-space-tree.h - partial
  • inode.c - todo
  • inode-item.c - partial
  • locking.c - done, local changes
  • locking.h - done, local changes
  • messages.c - done, local changes
  • messages.h - done, local changes
  • misc.h - done
  • print-tree.c - partial, sync to kernel
  • print-tree.h - partial
  • root-tree.c - partial
  • root-tree.h - done
  • send.h - done
  • transaction.c - todo
  • transaction.h - partial, local changes
  • tree-checker.c - partial, local changes
  • tree-checker.h - partial, local changes
  • tree-mod-log.h - done, local changes
  • ulist.c - done
  • ulist.h - done
  • uuid-tree.c - partial
  • volumes.c - todo, local changes
  • volumes.h - todo, local changes
  • zoned.c - todo
  • zoned.h - todo