From: Zhao Lei <[email protected]>

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 <[email protected]>
Signed-off-by: Zhao Lei <[email protected]>
---
 cmds-filesystem.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/cmds-filesystem.c b/cmds-filesystem.c
index 800aa4d..c393ce7 100644
--- a/cmds-filesystem.c
+++ b/cmds-filesystem.c
@@ -1327,8 +1327,16 @@ static int cmd_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);
-- 
1.8.5.1

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to