]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/ext4/resize.c
ext4: introduce ext4_get_group_number()
[karo-tx-linux.git] / fs / ext4 / resize.c
index c7f4d758466947e0bdc0f6da16e1da631b6ea595..e3498534a2c1a7da840cd7fe8846ed9b76200f5b 100644 (file)
@@ -272,7 +272,7 @@ next_group:
                if (start_blk >= last_blk)
                        goto next_group;
                group_data[bb_index].block_bitmap = start_blk++;
-               ext4_get_group_no_and_offset(sb, start_blk - 1, &group, NULL);
+               group = ext4_get_group_number(sb, start_blk - 1);
                group -= group_data[0].group;
                group_data[group].free_blocks_count--;
                if (flexbg_size > 1)
@@ -284,7 +284,7 @@ next_group:
                if (start_blk >= last_blk)
                        goto next_group;
                group_data[ib_index].inode_bitmap = start_blk++;
-               ext4_get_group_no_and_offset(sb, start_blk - 1, &group, NULL);
+               group = ext4_get_group_number(sb, start_blk - 1);
                group -= group_data[0].group;
                group_data[group].free_blocks_count--;
                if (flexbg_size > 1)
@@ -296,7 +296,7 @@ next_group:
                if (start_blk + EXT4_SB(sb)->s_itb_per_group > last_blk)
                        goto next_group;
                group_data[it_index].inode_table = start_blk;
-               ext4_get_group_no_and_offset(sb, start_blk, &group, NULL);
+               group = ext4_get_group_number(sb, start_blk - 1);
                group -= group_data[0].group;
                group_data[group].free_blocks_count -=
                                        EXT4_SB(sb)->s_itb_per_group;
@@ -392,7 +392,7 @@ static int set_flexbg_block_bitmap(struct super_block *sb, handle_t *handle,
                ext4_group_t group;
                int err;
 
-               ext4_get_group_no_and_offset(sb, block, &group, NULL);
+               group = ext4_get_group_number(sb, block);
                start = ext4_group_first_block_no(sb, group);
                group -= flex_gd->groups[0].group;
 
@@ -1247,7 +1247,7 @@ static int ext4_setup_new_descs(handle_t *handle, struct super_block *sb,
 
                ext4_inode_table_set(sb, gdp, group_data->inode_table);
                ext4_free_group_clusters_set(sb, gdp,
-                                            EXT4_B2C(sbi, group_data->free_blocks_count));
+                       EXT4_NUM_B2C(sbi, group_data->free_blocks_count));
                ext4_free_inodes_set(sb, gdp, EXT4_INODES_PER_GROUP(sb));
                if (ext4_has_group_desc_csum(sb))
                        ext4_itable_unused_set(sb, gdp,
@@ -1349,7 +1349,7 @@ static void ext4_update_super(struct super_block *sb,
 
        /* Update the free space counts */
        percpu_counter_add(&sbi->s_freeclusters_counter,
-                          EXT4_B2C(sbi, free_blocks));
+                          EXT4_NUM_B2C(sbi, free_blocks));
        percpu_counter_add(&sbi->s_freeinodes_counter,
                           EXT4_INODES_PER_GROUP(sb) * flex_gd->count);
 
@@ -1360,8 +1360,8 @@ static void ext4_update_super(struct super_block *sb,
            sbi->s_log_groups_per_flex) {
                ext4_group_t flex_group;
                flex_group = ext4_flex_group(sbi, group_data[0].group);
-               atomic_add(EXT4_B2C(sbi, free_blocks),
-                          &sbi->s_flex_groups[flex_group].free_clusters);
+               atomic64_add(EXT4_NUM_B2C(sbi, free_blocks),
+                            &sbi->s_flex_groups[flex_group].free_clusters);
                atomic_add(EXT4_INODES_PER_GROUP(sb) * flex_gd->count,
                           &sbi->s_flex_groups[flex_group].free_inodes);
        }
@@ -1879,7 +1879,7 @@ retry:
                /* Nothing need to do */
                return 0;
 
-       ext4_get_group_no_and_offset(sb, n_blocks_count - 1, &n_group, &offset);
+       n_group = ext4_get_group_number(sb, n_blocks_count - 1);
        ext4_get_group_no_and_offset(sb, o_blocks_count - 1, &o_group, &offset);
 
        n_desc_blocks = num_desc_blocks(sb, n_group + 1);