diff options
Diffstat (limited to 'fs/ext4/ialloc.c')
| -rw-r--r-- | fs/ext4/ialloc.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c index f03598c6ffd3..8bf5999875ee 100644 --- a/fs/ext4/ialloc.c +++ b/fs/ext4/ialloc.c | |||
| @@ -734,11 +734,8 @@ repeat_in_this_group: | |||
| 734 | ino = ext4_find_next_zero_bit((unsigned long *) | 734 | ino = ext4_find_next_zero_bit((unsigned long *) |
| 735 | inode_bitmap_bh->b_data, | 735 | inode_bitmap_bh->b_data, |
| 736 | EXT4_INODES_PER_GROUP(sb), ino); | 736 | EXT4_INODES_PER_GROUP(sb), ino); |
| 737 | if (ino >= EXT4_INODES_PER_GROUP(sb)) { | 737 | if (ino >= EXT4_INODES_PER_GROUP(sb)) |
| 738 | if (++group == ngroups) | 738 | goto next_group; |
| 739 | group = 0; | ||
| 740 | continue; | ||
| 741 | } | ||
| 742 | if (group == 0 && (ino+1) < EXT4_FIRST_INO(sb)) { | 739 | if (group == 0 && (ino+1) < EXT4_FIRST_INO(sb)) { |
| 743 | ext4_error(sb, "reserved inode found cleared - " | 740 | ext4_error(sb, "reserved inode found cleared - " |
| 744 | "inode=%lu", ino + 1); | 741 | "inode=%lu", ino + 1); |
| @@ -769,6 +766,9 @@ repeat_in_this_group: | |||
| 769 | goto got; /* we grabbed the inode! */ | 766 | goto got; /* we grabbed the inode! */ |
| 770 | if (ino < EXT4_INODES_PER_GROUP(sb)) | 767 | if (ino < EXT4_INODES_PER_GROUP(sb)) |
| 771 | goto repeat_in_this_group; | 768 | goto repeat_in_this_group; |
| 769 | next_group: | ||
| 770 | if (++group == ngroups) | ||
| 771 | group = 0; | ||
| 772 | } | 772 | } |
| 773 | err = -ENOSPC; | 773 | err = -ENOSPC; |
| 774 | goto out; | 774 | goto out; |
