btrfs-progs/cmds
David Sterba b64f8437b6 btrfs-progs: resize: fallback to lowest devid when 1 does not exist
The implicit devid is 1 but when it does not exist then the command
'btrfs fi resize max /path' fails and requires the user to specify the
number (and finding it elsewhere, e.g. in 'btrfs fi us -T' output).

This is a usability bug, we can verify if devid 1 exists and use the
lowest devid as a fallback. This does what user would expected, though
there's still a warning. Kernel has the hardcoded devid 1 when none is
specified, with this fix in user space the kernel does not need to be
changed (or could behave the same eventually).

Example use:

  $ btrfs fi us -T .
		Data      Metadata  System
  Id Path       single    single    single   Unallocated Total   Slack
  -- ---------- --------- --------- -------- ----------- ------- -----
   4 /dev/loop3         -         -        -     4.00GiB 4.00GiB     -
  -- ---------- --------- --------- -------- ----------- ------- -----
     Total      416.00MiB 256.00MiB 64.00MiB     4.00GiB 4.00GiB 0.00B
     Used           0.00B 128.00KiB 16.00KiB

  $ btrfs fi resize max .
  WARNING: no devid specified means devid 1 which does not exist, using
           lowest devid 4 as a fallback
  Resize device id 4 (/dev/loop3) from 4.00GiB to max

Issue: #470
Signed-off-by: David Sterba <dsterba@suse.com>
2023-11-03 18:04:37 +01:00
..
balance.c btrfs-progs: remove old syntax of 'balance /path' 2023-11-03 18:04:37 +01:00
commands.h btrfs-progs: use unsigned type for bit shift values 2023-11-03 18:04:37 +01:00
device.c btrfs-progs: convert device info to struct array 2023-10-17 19:34:00 +02:00
filesystem-du.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
filesystem-usage.c btrfs-progs: device usage: fix error reporting number of devices 0 != 1 2023-11-03 18:04:37 +01:00
filesystem-usage.h btrfs-progs: convert device info to struct array 2023-10-17 19:34:00 +02:00
filesystem.c btrfs-progs: resize: fallback to lowest devid when 1 does not exist 2023-11-03 18:04:37 +01:00
inspect-dump-super.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
inspect-dump-tree.c btrfs-progs: dump-tree: allow using '-' for tree ids 2023-10-06 17:33:08 +02:00
inspect-tree-stats.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
inspect.c btrfs-progs: cmds: drop unsigned long long casts for printf 2023-11-03 18:04:37 +01:00
property.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
props.h btrfs-progs: use unsigned type for bit shift values 2023-11-03 18:04:37 +01:00
qgroup.c btrfs-progs: qgroup: check null when comparing paths 2023-10-13 18:13:12 +02:00
qgroup.h btrfs-progs: sync uapi/btrfs.h into btrfs-progs 2023-05-26 18:02:28 +02:00
quota.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
receive-dump.c btrfs-progs: receive: add support for fs-verity 2022-10-11 09:08:08 +02:00
receive-dump.h btrfs-progs: cmds: update include lists 2022-10-11 09:07:59 +02:00
receive.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
reflink.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
replace.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
rescue-chunk-recover.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
rescue-super-recover.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
rescue.c btrfs-progs: rescue: replace kfree by free in clear_uuid_tree 2023-11-03 18:04:37 +01:00
rescue.h btrfs-progs: unify GPL header comments 2021-09-07 13:58:44 +02:00
restore.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
scrub.c btrfs-progs: scrub: use device's used_bytes to print summary for running scrubs 2023-10-21 15:51:07 +02:00
send.c btrfs-progs: clean up includes, using include-what-you-use 2023-10-03 01:11:57 +02:00
subvolume-list.c btrfs-progs: fix all variable shadowing 2023-10-10 19:16:29 +02:00
subvolume.c btrfs-progs: subvolume delete: implement dry-run global option 2023-11-03 18:04:37 +01:00
subvolume.h btrfs-progs: subvol: introduce rowspec definition for json output 2023-08-28 17:24:23 +02:00