btrfs-progs/cmds
David Sterba 71d68ab8b2 btrfs-progs: device remove: add support for cancel
Recognize special name 'cancel' for device deletion, that will request
kernel to stop running device deletion. This needs support in kernel,
otherwise this will fail due to another exclusive operation running
(though could be the same one).

The command returns after kernel finishes any work that got interrupted,
but this should not take long in kernels 5.10+ that allow interruptible
relocation. The waiting inside kernel is interruptible so this command
(and the waiting stage) can be interrupted.

The device size is restored when deletion does not finish but it's
recommended to review the filesystem state.

Note: in kernels 5.10+ sending a fatal signal (TERM, KILL, Ctrl-C) to
the process running the device deletion will cancel it too.

Example:

    $ btrfs device delete /dev/sdx /mnt
    ...
    $ btrfs device delete cancel /mnt

Signed-off-by: David Sterba <dsterba@suse.com>
2021-05-20 22:14:18 +02:00
..
balance.c btrfs-progs: split open/close helpers from utils.c 2021-05-06 16:41:47 +02:00
commands.h btrfs-progs: help: define helper for command with flags 2019-07-03 20:49:04 +02:00
device.c btrfs-progs: device remove: add support for cancel 2021-05-20 22:14:18 +02:00
filesystem-du.c btrfs-progs: split unit related helpers from utils.c 2021-05-06 16:41:47 +02:00
filesystem-usage.c btrfs-progs: fi usage: print zone unusable in the overview 2021-05-08 00:58:50 +02:00
filesystem-usage.h btrfs-progs: move all cmds-fi*.c to cmds/ 2019-07-03 20:49:03 +02:00
filesystem.c btrfs-progs: export get_zone_unusable and move to utils.c 2021-05-08 00:58:50 +02:00
inspect-dump-super.c btrfs-progs: zoned: implement log-structured superblock 2021-05-06 16:41:45 +02:00
inspect-dump-tree.c btrfs-progs: factor open_ctree parameters to a structure 2021-03-24 22:20:19 +01:00
inspect-tree-stats.c btrfs-progs: split unit related helpers from utils.c 2021-05-06 16:41:47 +02:00
inspect.c btrfs-progs: fix inspect-internal --help incomplete sentence 2021-05-17 14:26:32 +02:00
property.c btrfs-progs: move ctree.c to kernel-shared/ 2020-08-31 17:01:05 +02:00
qgroup.c btrfs-progs: split unit related helpers from utils.c 2021-05-06 16:41:47 +02:00
quota.c btrfs-progs: split open/close helpers from utils.c 2021-05-06 16:41:47 +02:00
receive-dump.c btrfs-progs: move send-utils.c to common/ 2020-08-31 17:01:04 +02:00
receive-dump.h btrfs-progs: move send-dump.c to cmds/receive-dump.c 2020-08-31 17:01:04 +02:00
receive.c btrfs-progs: build: remove incomplete android support 2021-05-06 16:41:47 +02:00
replace.c btrfs-progs: split open/close helpers from utils.c 2021-05-06 16:41:47 +02:00
rescue-chunk-recover.c btrfs-progs: build: remove incomplete android support 2021-05-06 16:41:47 +02:00
rescue-super-recover.c btrfs-progs: move volumes.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
rescue.c btrfs-progs: split open/close helpers from utils.c 2021-05-06 16:41:47 +02:00
rescue.h btrfs-progs: super-recover: add global verbose option 2020-06-12 19:31:37 +02:00
restore.c btrfs-progs: split open/close helpers from utils.c 2021-05-06 16:41:47 +02:00
scrub.c btrfs-progs: split unit related helpers from utils.c 2021-05-06 16:41:47 +02:00
send.c btrfs-progs: send: fix crash on unknown option 2021-01-13 22:33:09 +01:00
subvolume.c btrfs-progs: split unit related helpers from utils.c 2021-05-06 16:41:47 +02:00