From: Zhao Lei Date: Wed, 22 Jul 2015 07:58:06 +0000 (+0800) Subject: btrfs-progs: Accurate errormsg for resize operation on no-enouth-free-space case X-Git-Tag: upstream/4.16.1~2100 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e16cb7cb53e0cf36d918b1e018402d2226c602ec;p=platform%2Fupstream%2Fbtrfs-progs.git btrfs-progs: Accurate errormsg for resize operation on no-enouth-free-space case btrfs progs output following error message when doing resize on no-enouth-free-space case: # btrfs filesystem resize +10g /mnt/btrfs_5gb Resize '/mnt/btrfs_5gb' of '+10g' ERROR: unable to resize '/mnt/btrfs_5gb' - File too large # It is not a good description for users, and this patch changed it to: # ./btrfs filesystem resize +10G /mnt/tmp1 Resize '/mnt/tmp1' of '+10G' ERROR: unable to resize '/mnt/tmp1' - no enouth free space # Reported-by: Taeha Kim Signed-off-by: Zhao Lei Signed-off-by: David Sterba --- diff --git a/cmds-filesystem.c b/cmds-filesystem.c index 03c67a5..fa555b0 100644 --- a/cmds-filesystem.c +++ b/cmds-filesystem.c @@ -1327,8 +1327,16 @@ static int cmd_filesystem_resize(int argc, char **argv) e = errno; close_file_or_dir(fd, dirstream); if( res < 0 ){ - fprintf(stderr, "ERROR: unable to resize '%s' - %s\n", - path, strerror(e)); + switch (e) { + case EFBIG: + fprintf(stderr, "ERROR: unable to resize '%s' - no enouth free space\n", + path); + break; + default: + fprintf(stderr, "ERROR: unable to resize '%s' - %s\n", + path, strerror(e)); + break; + } return 1; } else if (res > 0) { const char *err_str = btrfs_err_str(res);