summaryrefslogtreecommitdiff
path: root/cmds-filesystem.c
diff options
context:
space:
mode:
authorZhao Lei <zhaolei@cn.fujitsu.com>2015-07-22 15:58:06 +0800
committerDavid Sterba <dsterba@suse.com>2015-08-31 19:25:09 +0200
commite16cb7cb53e0cf36d918b1e018402d2226c602ec (patch)
tree37cd7a51dfd86cf530d3e00d442e5172124b1228 /cmds-filesystem.c
parentef433bb08388461ec551188705820ca4d26832b5 (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>
Diffstat (limited to 'cmds-filesystem.c')
-rw-r--r--cmds-filesystem.c12
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);