Message ID | 20210419124541.148269-1-l@damenly.su (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs-progs: fi resize: fix false 0.00B sized output | expand |
On Mon 19 Apr 2021 at 20:45, Su Yue <l@damenly.su> wrote: > Resize to nums without sign prefix makes false output: > Resize device id 1 (/dev/sdb1) from 298.09GiB to 0.00B > > The resize operation would take effect though. > > Fix it by handling the case if mod is 0 in check_resize_args(). > > Issue: #307 > Reported-by: Chris Murphy <lists@colorremedies.com> > Signed-off-by: Su Yue <l@damenly.su> > --- > cmds/filesystem.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/cmds/filesystem.c b/cmds/filesystem.c > index 9e3cce687d6e..607c85a0bccc 100644 > --- a/cmds/filesystem.c > +++ b/cmds/filesystem.c > @@ -1158,6 +1158,13 @@ static int check_resize_args(const char > *amount, const char *path) { > } > old_size = di_args[dev_idx].total_bytes; > > + /* For target sizes without '+'/'-' sign prefix(e.g. > 1:150g) */ > + if (mod == 0) { > + new_size = diff; > + diff = new_size - old_size; > > + mod = diff; > Hmmm.. diff is a u64... will send v2. > + } > + > if (mod < 0) { > if (diff > old_size) { > error("current size is %s which is smaller than > %s",
diff --git a/cmds/filesystem.c b/cmds/filesystem.c index 9e3cce687d6e..607c85a0bccc 100644 --- a/cmds/filesystem.c +++ b/cmds/filesystem.c @@ -1158,6 +1158,13 @@ static int check_resize_args(const char *amount, const char *path) { } old_size = di_args[dev_idx].total_bytes; + /* For target sizes without '+'/'-' sign prefix(e.g. 1:150g) */ + if (mod == 0) { + new_size = diff; + diff = new_size - old_size; + mod = diff; + } + if (mod < 0) { if (diff > old_size) { error("current size is %s which is smaller than %s",
Resize to nums without sign prefix makes false output: Resize device id 1 (/dev/sdb1) from 298.09GiB to 0.00B The resize operation would take effect though. Fix it by handling the case if mod is 0 in check_resize_args(). Issue: #307 Reported-by: Chris Murphy <lists@colorremedies.com> Signed-off-by: Su Yue <l@damenly.su> --- cmds/filesystem.c | 7 +++++++ 1 file changed, 7 insertions(+)