diff options
author | Zhao Lei <zhaolei@cn.fujitsu.com> | 2015-07-22 15:58:06 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2015-08-31 19:25:09 +0200 |
commit | e16cb7cb53e0cf36d918b1e018402d2226c602ec (patch) | |
tree | 37cd7a51dfd86cf530d3e00d442e5172124b1228 | |
parent | ef433bb08388461ec551188705820ca4d26832b5 (diff) |
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 <kthguru@gmail.com>
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | cmds-filesystem.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cmds-filesystem.c b/cmds-filesystem.c index 03c67a53..fa555b07 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); |