Whamcloud - gitweb
tune2fs: handle inode and/or block bitmap read failures in resize_inode()
authorEric Sandeen <sandeen@redhat.com>
Fri, 16 Sep 2011 20:49:37 +0000 (15:49 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 16 Sep 2011 23:55:55 +0000 (19:55 -0400)
Handle these failures in resize_inode, and handle the propagated
error in the caller.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
misc/tune2fs.c

index 6d879f3..346e2d1 100644 (file)
@@ -1589,8 +1589,16 @@ static int resize_inode(ext2_filsys fs, unsigned long new_size)
        int new_ino_blks_per_grp;
        ext2fs_block_bitmap bmap;
 
-       ext2fs_read_inode_bitmap(fs);
-       ext2fs_read_block_bitmap(fs);
+       retval = ext2fs_read_inode_bitmap(fs);
+       if (retval) {
+               fputs(_("Failed to read inode bitmap\n"), stderr);
+               return retval;
+       }
+       retval = ext2fs_read_block_bitmap(fs);
+       if (retval) {
+               fputs(_("Failed to read blockbitmap\n"), stderr);
+               return retval;
+       }
        INIT_LIST_HEAD(&blk_move_list);
 
 
@@ -1989,6 +1997,9 @@ retry_open:
                if (resize_inode(fs, new_inode_size) == 0) {
                        printf(_("Setting inode size %lu\n"),
                                                        new_inode_size);
+               } else {
+                       printf(_("Failed to change inode size\n"));
+                       exit(1);
                }
        }