]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ext4: cleanup goto next group
authorWang Shilong <wshilong@ddn.com>
Thu, 24 Aug 2017 15:58:18 +0000 (11:58 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 24 Aug 2017 15:58:18 +0000 (11:58 -0400)
avoid duplicated codes, also we need goto
next group in case we found reserved inode.

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
fs/ext4/ialloc.c

index 0d03e73dccaf1815e59020c31206eafd3c1d6bbb..9e6eb1c0e2eedf1ca99aece5288169ab9a0470da 100644 (file)
@@ -892,19 +892,13 @@ struct inode *__ext4_new_inode(handle_t *handle, struct inode *dir,
                /*
                 * Check free inodes count before loading bitmap.
                 */
-               if (ext4_free_inodes_count(sb, gdp) == 0) {
-                       if (++group == ngroups)
-                               group = 0;
-                       continue;
-               }
+               if (ext4_free_inodes_count(sb, gdp) == 0)
+                       goto next_group;
 
                grp = ext4_get_group_info(sb, group);
                /* Skip groups with already-known suspicious inode tables */
-               if (EXT4_MB_GRP_IBITMAP_CORRUPT(grp)) {
-                       if (++group == ngroups)
-                               group = 0;
-                       continue;
-               }
+               if (EXT4_MB_GRP_IBITMAP_CORRUPT(grp))
+                       goto next_group;
 
                brelse(inode_bitmap_bh);
                inode_bitmap_bh = ext4_read_inode_bitmap(sb, group);
@@ -912,9 +906,7 @@ struct inode *__ext4_new_inode(handle_t *handle, struct inode *dir,
                if (EXT4_MB_GRP_IBITMAP_CORRUPT(grp) ||
                    IS_ERR(inode_bitmap_bh)) {
                        inode_bitmap_bh = NULL;
-                       if (++group == ngroups)
-                               group = 0;
-                       continue;
+                       goto next_group;
                }
 
 repeat_in_this_group:
@@ -926,7 +918,7 @@ struct inode *__ext4_new_inode(handle_t *handle, struct inode *dir,
                if (group == 0 && (ino+1) < EXT4_FIRST_INO(sb)) {
                        ext4_error(sb, "reserved inode found cleared - "
                                   "inode=%lu", ino + 1);
-                       continue;
+                       goto next_group;
                }
                if ((EXT4_SB(sb)->s_journal == NULL) &&
                    recently_deleted(sb, group, ino)) {