aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/balloc.c8
-rw-r--r--fs/ext4/ext4.h9
-rw-r--r--fs/ext4/ialloc.c14
-rw-r--r--fs/ext4/mballoc.c22
-rw-r--r--fs/ext4/resize.c2
-rw-r--r--fs/ext4/super.c10
6 files changed, 33 insertions, 32 deletions
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
index bf42b3219e3c..84dc3d62b40c 100644
--- a/fs/ext4/balloc.c
+++ b/fs/ext4/balloc.c
@@ -168,7 +168,7 @@ void ext4_init_block_bitmap(struct super_block *sb, struct buffer_head *bh,
168 * essentially implementing a per-group read-only flag. */ 168 * essentially implementing a per-group read-only flag. */
169 if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) { 169 if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) {
170 ext4_error(sb, "Checksum bad for group %u", block_group); 170 ext4_error(sb, "Checksum bad for group %u", block_group);
171 ext4_free_blks_set(sb, gdp, 0); 171 ext4_free_group_clusters_set(sb, gdp, 0);
172 ext4_free_inodes_set(sb, gdp, 0); 172 ext4_free_inodes_set(sb, gdp, 0);
173 ext4_itable_unused_set(sb, gdp, 0); 173 ext4_itable_unused_set(sb, gdp, 0);
174 memset(bh->b_data, 0xff, sb->s_blocksize); 174 memset(bh->b_data, 0xff, sb->s_blocksize);
@@ -550,7 +550,7 @@ ext4_fsblk_t ext4_count_free_blocks(struct super_block *sb)
550 gdp = ext4_get_group_desc(sb, i, NULL); 550 gdp = ext4_get_group_desc(sb, i, NULL);
551 if (!gdp) 551 if (!gdp)
552 continue; 552 continue;
553 desc_count += ext4_free_blks_count(sb, gdp); 553 desc_count += ext4_free_group_clusters(sb, gdp);
554 brelse(bitmap_bh); 554 brelse(bitmap_bh);
555 bitmap_bh = ext4_read_block_bitmap(sb, i); 555 bitmap_bh = ext4_read_block_bitmap(sb, i);
556 if (bitmap_bh == NULL) 556 if (bitmap_bh == NULL)
@@ -558,7 +558,7 @@ ext4_fsblk_t ext4_count_free_blocks(struct super_block *sb)
558 558
559 x = ext4_count_free(bitmap_bh, sb->s_blocksize); 559 x = ext4_count_free(bitmap_bh, sb->s_blocksize);
560 printk(KERN_DEBUG "group %u: stored = %d, counted = %u\n", 560 printk(KERN_DEBUG "group %u: stored = %d, counted = %u\n",
561 i, ext4_free_blks_count(sb, gdp), x); 561 i, ext4_free_group_clusters(sb, gdp), x);
562 bitmap_count += x; 562 bitmap_count += x;
563 } 563 }
564 brelse(bitmap_bh); 564 brelse(bitmap_bh);
@@ -572,7 +572,7 @@ ext4_fsblk_t ext4_count_free_blocks(struct super_block *sb)
572 gdp = ext4_get_group_desc(sb, i, NULL); 572 gdp = ext4_get_group_desc(sb, i, NULL);
573 if (!gdp) 573 if (!gdp)
574 continue; 574 continue;
575 desc_count += ext4_free_blks_count(sb, gdp); 575 desc_count += ext4_free_group_clusters(sb, gdp);
576 } 576 }
577 577
578 return desc_count; 578 return desc_count;
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index a5a7e369f719..db279c362017 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1978,8 +1978,8 @@ extern ext4_fsblk_t ext4_inode_bitmap(struct super_block *sb,
1978 struct ext4_group_desc *bg); 1978 struct ext4_group_desc *bg);
1979extern ext4_fsblk_t ext4_inode_table(struct super_block *sb, 1979extern ext4_fsblk_t ext4_inode_table(struct super_block *sb,
1980 struct ext4_group_desc *bg); 1980 struct ext4_group_desc *bg);
1981extern __u32 ext4_free_blks_count(struct super_block *sb, 1981extern __u32 ext4_free_group_clusters(struct super_block *sb,
1982 struct ext4_group_desc *bg); 1982 struct ext4_group_desc *bg);
1983extern __u32 ext4_free_inodes_count(struct super_block *sb, 1983extern __u32 ext4_free_inodes_count(struct super_block *sb,
1984 struct ext4_group_desc *bg); 1984 struct ext4_group_desc *bg);
1985extern __u32 ext4_used_dirs_count(struct super_block *sb, 1985extern __u32 ext4_used_dirs_count(struct super_block *sb,
@@ -1992,8 +1992,9 @@ extern void ext4_inode_bitmap_set(struct super_block *sb,
1992 struct ext4_group_desc *bg, ext4_fsblk_t blk); 1992 struct ext4_group_desc *bg, ext4_fsblk_t blk);
1993extern void ext4_inode_table_set(struct super_block *sb, 1993extern void ext4_inode_table_set(struct super_block *sb,
1994 struct ext4_group_desc *bg, ext4_fsblk_t blk); 1994 struct ext4_group_desc *bg, ext4_fsblk_t blk);
1995extern void ext4_free_blks_set(struct super_block *sb, 1995extern void ext4_free_group_clusters_set(struct super_block *sb,
1996 struct ext4_group_desc *bg, __u32 count); 1996 struct ext4_group_desc *bg,
1997 __u32 count);
1997extern void ext4_free_inodes_set(struct super_block *sb, 1998extern void ext4_free_inodes_set(struct super_block *sb,
1998 struct ext4_group_desc *bg, __u32 count); 1999 struct ext4_group_desc *bg, __u32 count);
1999extern void ext4_used_dirs_set(struct super_block *sb, 2000extern void ext4_used_dirs_set(struct super_block *sb,
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
index 0be5862313f0..71a9c8f3dece 100644
--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -78,7 +78,7 @@ static unsigned ext4_init_inode_bitmap(struct super_block *sb,
78 * allocation, essentially implementing a per-group read-only flag. */ 78 * allocation, essentially implementing a per-group read-only flag. */
79 if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) { 79 if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) {
80 ext4_error(sb, "Checksum bad for group %u", block_group); 80 ext4_error(sb, "Checksum bad for group %u", block_group);
81 ext4_free_blks_set(sb, gdp, 0); 81 ext4_free_group_clusters_set(sb, gdp, 0);
82 ext4_free_inodes_set(sb, gdp, 0); 82 ext4_free_inodes_set(sb, gdp, 0);
83 ext4_itable_unused_set(sb, gdp, 0); 83 ext4_itable_unused_set(sb, gdp, 0);
84 memset(bh->b_data, 0xff, sb->s_blocksize); 84 memset(bh->b_data, 0xff, sb->s_blocksize);
@@ -322,8 +322,8 @@ static int find_group_dir(struct super_block *sb, struct inode *parent,
322 if (ext4_free_inodes_count(sb, desc) < avefreei) 322 if (ext4_free_inodes_count(sb, desc) < avefreei)
323 continue; 323 continue;
324 if (!best_desc || 324 if (!best_desc ||
325 (ext4_free_blks_count(sb, desc) > 325 (ext4_free_group_clusters(sb, desc) >
326 ext4_free_blks_count(sb, best_desc))) { 326 ext4_free_group_clusters(sb, best_desc))) {
327 *best_group = group; 327 *best_group = group;
328 best_desc = desc; 328 best_desc = desc;
329 ret = 0; 329 ret = 0;
@@ -434,7 +434,7 @@ static void get_orlov_stats(struct super_block *sb, ext4_group_t g,
434 desc = ext4_get_group_desc(sb, g, NULL); 434 desc = ext4_get_group_desc(sb, g, NULL);
435 if (desc) { 435 if (desc) {
436 stats->free_inodes = ext4_free_inodes_count(sb, desc); 436 stats->free_inodes = ext4_free_inodes_count(sb, desc);
437 stats->free_clusters = ext4_free_blks_count(sb, desc); 437 stats->free_clusters = ext4_free_group_clusters(sb, desc);
438 stats->used_dirs = ext4_used_dirs_count(sb, desc); 438 stats->used_dirs = ext4_used_dirs_count(sb, desc);
439 } else { 439 } else {
440 stats->free_inodes = 0; 440 stats->free_inodes = 0;
@@ -662,7 +662,7 @@ static int find_group_other(struct super_block *sb, struct inode *parent,
662 *group = parent_group; 662 *group = parent_group;
663 desc = ext4_get_group_desc(sb, *group, NULL); 663 desc = ext4_get_group_desc(sb, *group, NULL);
664 if (desc && ext4_free_inodes_count(sb, desc) && 664 if (desc && ext4_free_inodes_count(sb, desc) &&
665 ext4_free_blks_count(sb, desc)) 665 ext4_free_group_clusters(sb, desc))
666 return 0; 666 return 0;
667 667
668 /* 668 /*
@@ -686,7 +686,7 @@ static int find_group_other(struct super_block *sb, struct inode *parent,
686 *group -= ngroups; 686 *group -= ngroups;
687 desc = ext4_get_group_desc(sb, *group, NULL); 687 desc = ext4_get_group_desc(sb, *group, NULL);
688 if (desc && ext4_free_inodes_count(sb, desc) && 688 if (desc && ext4_free_inodes_count(sb, desc) &&
689 ext4_free_blks_count(sb, desc)) 689 ext4_free_group_clusters(sb, desc))
690 return 0; 690 return 0;
691 } 691 }
692 692
@@ -960,7 +960,7 @@ got:
960 ext4_lock_group(sb, group); 960 ext4_lock_group(sb, group);
961 if (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { 961 if (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {
962 gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT); 962 gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT);
963 ext4_free_blks_set(sb, gdp, 963 ext4_free_group_clusters_set(sb, gdp,
964 ext4_free_blocks_after_init(sb, group, gdp)); 964 ext4_free_blocks_after_init(sb, group, gdp));
965 gdp->bg_checksum = ext4_group_desc_csum(sbi, group, 965 gdp->bg_checksum = ext4_group_desc_csum(sbi, group,
966 gdp); 966 gdp);
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 5e1215d38331..76db2f12107f 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2256,7 +2256,7 @@ int ext4_mb_add_groupinfo(struct super_block *sb, ext4_group_t group,
2256 ext4_free_blocks_after_init(sb, group, desc); 2256 ext4_free_blocks_after_init(sb, group, desc);
2257 } else { 2257 } else {
2258 meta_group_info[i]->bb_free = 2258 meta_group_info[i]->bb_free =
2259 ext4_free_blks_count(sb, desc); 2259 ext4_free_group_clusters(sb, desc);
2260 } 2260 }
2261 2261
2262 INIT_LIST_HEAD(&meta_group_info[i]->bb_prealloc_list); 2262 INIT_LIST_HEAD(&meta_group_info[i]->bb_prealloc_list);
@@ -2799,7 +2799,7 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
2799 goto out_err; 2799 goto out_err;
2800 2800
2801 ext4_debug("using block group %u(%d)\n", ac->ac_b_ex.fe_group, 2801 ext4_debug("using block group %u(%d)\n", ac->ac_b_ex.fe_group,
2802 ext4_free_blks_count(sb, gdp)); 2802 ext4_free_group_clusters(sb, gdp));
2803 2803
2804 err = ext4_journal_get_write_access(handle, gdp_bh); 2804 err = ext4_journal_get_write_access(handle, gdp_bh);
2805 if (err) 2805 if (err)
@@ -2839,12 +2839,12 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
2839 ac->ac_b_ex.fe_len); 2839 ac->ac_b_ex.fe_len);
2840 if (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { 2840 if (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {
2841 gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT); 2841 gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT);
2842 ext4_free_blks_set(sb, gdp, 2842 ext4_free_group_clusters_set(sb, gdp,
2843 ext4_free_blocks_after_init(sb, 2843 ext4_free_blocks_after_init(sb,
2844 ac->ac_b_ex.fe_group, gdp)); 2844 ac->ac_b_ex.fe_group, gdp));
2845 } 2845 }
2846 len = ext4_free_blks_count(sb, gdp) - ac->ac_b_ex.fe_len; 2846 len = ext4_free_group_clusters(sb, gdp) - ac->ac_b_ex.fe_len;
2847 ext4_free_blks_set(sb, gdp, len); 2847 ext4_free_group_clusters_set(sb, gdp, len);
2848 gdp->bg_checksum = ext4_group_desc_csum(sbi, ac->ac_b_ex.fe_group, gdp); 2848 gdp->bg_checksum = ext4_group_desc_csum(sbi, ac->ac_b_ex.fe_group, gdp);
2849 2849
2850 ext4_unlock_group(sb, ac->ac_b_ex.fe_group); 2850 ext4_unlock_group(sb, ac->ac_b_ex.fe_group);
@@ -4702,8 +4702,8 @@ do_more:
4702 mb_free_blocks(inode, &e4b, bit, count_clusters); 4702 mb_free_blocks(inode, &e4b, bit, count_clusters);
4703 } 4703 }
4704 4704
4705 ret = ext4_free_blks_count(sb, gdp) + count_clusters; 4705 ret = ext4_free_group_clusters(sb, gdp) + count_clusters;
4706 ext4_free_blks_set(sb, gdp, ret); 4706 ext4_free_group_clusters_set(sb, gdp, ret);
4707 gdp->bg_checksum = ext4_group_desc_csum(sbi, block_group, gdp); 4707 gdp->bg_checksum = ext4_group_desc_csum(sbi, block_group, gdp);
4708 ext4_unlock_group(sb, block_group); 4708 ext4_unlock_group(sb, block_group);
4709 percpu_counter_add(&sbi->s_freeclusters_counter, count_clusters); 4709 percpu_counter_add(&sbi->s_freeclusters_counter, count_clusters);
@@ -4846,8 +4846,8 @@ int ext4_group_add_blocks(handle_t *handle, struct super_block *sb,
4846 ext4_lock_group(sb, block_group); 4846 ext4_lock_group(sb, block_group);
4847 mb_clear_bits(bitmap_bh->b_data, bit, count); 4847 mb_clear_bits(bitmap_bh->b_data, bit, count);
4848 mb_free_blocks(NULL, &e4b, bit, count); 4848 mb_free_blocks(NULL, &e4b, bit, count);
4849 blk_free_count = blocks_freed + ext4_free_blks_count(sb, desc); 4849 blk_free_count = blocks_freed + ext4_free_group_clusters(sb, desc);
4850 ext4_free_blks_set(sb, desc, blk_free_count); 4850 ext4_free_group_clusters_set(sb, desc, blk_free_count);
4851 desc->bg_checksum = ext4_group_desc_csum(sbi, block_group, desc); 4851 desc->bg_checksum = ext4_group_desc_csum(sbi, block_group, desc);
4852 ext4_unlock_group(sb, block_group); 4852 ext4_unlock_group(sb, block_group);
4853 percpu_counter_add(&sbi->s_freeclusters_counter, 4853 percpu_counter_add(&sbi->s_freeclusters_counter,
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 95a09ddca3b9..996780ab4f4e 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -875,7 +875,7 @@ int ext4_group_add(struct super_block *sb, struct ext4_new_group_data *input)
875 ext4_block_bitmap_set(sb, gdp, input->block_bitmap); /* LV FIXME */ 875 ext4_block_bitmap_set(sb, gdp, input->block_bitmap); /* LV FIXME */
876 ext4_inode_bitmap_set(sb, gdp, input->inode_bitmap); /* LV FIXME */ 876 ext4_inode_bitmap_set(sb, gdp, input->inode_bitmap); /* LV FIXME */
877 ext4_inode_table_set(sb, gdp, input->inode_table); /* LV FIXME */ 877 ext4_inode_table_set(sb, gdp, input->inode_table); /* LV FIXME */
878 ext4_free_blks_set(sb, gdp, input->free_blocks_count); 878 ext4_free_group_clusters_set(sb, gdp, input->free_blocks_count);
879 ext4_free_inodes_set(sb, gdp, EXT4_INODES_PER_GROUP(sb)); 879 ext4_free_inodes_set(sb, gdp, EXT4_INODES_PER_GROUP(sb));
880 gdp->bg_flags = cpu_to_le16(EXT4_BG_INODE_ZEROED); 880 gdp->bg_flags = cpu_to_le16(EXT4_BG_INODE_ZEROED);
881 gdp->bg_checksum = ext4_group_desc_csum(sbi, input->group, gdp); 881 gdp->bg_checksum = ext4_group_desc_csum(sbi, input->group, gdp);
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 66b8cfa15636..30cf0e1bd89c 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -163,8 +163,8 @@ ext4_fsblk_t ext4_inode_table(struct super_block *sb,
163 (ext4_fsblk_t)le32_to_cpu(bg->bg_inode_table_hi) << 32 : 0); 163 (ext4_fsblk_t)le32_to_cpu(bg->bg_inode_table_hi) << 32 : 0);
164} 164}
165 165
166__u32 ext4_free_blks_count(struct super_block *sb, 166__u32 ext4_free_group_clusters(struct super_block *sb,
167 struct ext4_group_desc *bg) 167 struct ext4_group_desc *bg)
168{ 168{
169 return le16_to_cpu(bg->bg_free_blocks_count_lo) | 169 return le16_to_cpu(bg->bg_free_blocks_count_lo) |
170 (EXT4_DESC_SIZE(sb) >= EXT4_MIN_DESC_SIZE_64BIT ? 170 (EXT4_DESC_SIZE(sb) >= EXT4_MIN_DESC_SIZE_64BIT ?
@@ -219,8 +219,8 @@ void ext4_inode_table_set(struct super_block *sb,
219 bg->bg_inode_table_hi = cpu_to_le32(blk >> 32); 219 bg->bg_inode_table_hi = cpu_to_le32(blk >> 32);
220} 220}
221 221
222void ext4_free_blks_set(struct super_block *sb, 222void ext4_free_group_clusters_set(struct super_block *sb,
223 struct ext4_group_desc *bg, __u32 count) 223 struct ext4_group_desc *bg, __u32 count)
224{ 224{
225 bg->bg_free_blocks_count_lo = cpu_to_le16((__u16)count); 225 bg->bg_free_blocks_count_lo = cpu_to_le16((__u16)count);
226 if (EXT4_DESC_SIZE(sb) >= EXT4_MIN_DESC_SIZE_64BIT) 226 if (EXT4_DESC_SIZE(sb) >= EXT4_MIN_DESC_SIZE_64BIT)
@@ -2034,7 +2034,7 @@ static int ext4_fill_flex_info(struct super_block *sb)
2034 flex_group = ext4_flex_group(sbi, i); 2034 flex_group = ext4_flex_group(sbi, i);
2035 atomic_add(ext4_free_inodes_count(sb, gdp), 2035 atomic_add(ext4_free_inodes_count(sb, gdp),
2036 &sbi->s_flex_groups[flex_group].free_inodes); 2036 &sbi->s_flex_groups[flex_group].free_inodes);
2037 atomic_add(ext4_free_blks_count(sb, gdp), 2037 atomic_add(ext4_free_group_clusters(sb, gdp),
2038 &sbi->s_flex_groups[flex_group].free_clusters); 2038 &sbi->s_flex_groups[flex_group].free_clusters);
2039 atomic_add(ext4_used_dirs_count(sb, gdp), 2039 atomic_add(ext4_used_dirs_count(sb, gdp),
2040 &sbi->s_flex_groups[flex_group].used_dirs); 2040 &sbi->s_flex_groups[flex_group].used_dirs);