diff options
-rw-r--r-- | fs/ext4/super.c | 4 | ||||
-rw-r--r-- | include/linux/ext4_fs.h | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index f9cb64c5010b..11e80f061cb2 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -2667,7 +2667,7 @@ static int ext4_statfs (struct dentry * dentry, struct kstatfs * buf) | |||
2667 | 2667 | ||
2668 | if (test_opt(sb, MINIX_DF)) { | 2668 | if (test_opt(sb, MINIX_DF)) { |
2669 | sbi->s_overhead_last = 0; | 2669 | sbi->s_overhead_last = 0; |
2670 | } else if (sbi->s_blocks_last != le32_to_cpu(es->s_blocks_count)) { | 2670 | } else if (sbi->s_blocks_last != ext4_blocks_count(es)) { |
2671 | unsigned long ngroups = sbi->s_groups_count, i; | 2671 | unsigned long ngroups = sbi->s_groups_count, i; |
2672 | ext4_fsblk_t overhead = 0; | 2672 | ext4_fsblk_t overhead = 0; |
2673 | smp_rmb(); | 2673 | smp_rmb(); |
@@ -2702,7 +2702,7 @@ static int ext4_statfs (struct dentry * dentry, struct kstatfs * buf) | |||
2702 | overhead += ngroups * (2 + sbi->s_itb_per_group); | 2702 | overhead += ngroups * (2 + sbi->s_itb_per_group); |
2703 | sbi->s_overhead_last = overhead; | 2703 | sbi->s_overhead_last = overhead; |
2704 | smp_wmb(); | 2704 | smp_wmb(); |
2705 | sbi->s_blocks_last = le32_to_cpu(es->s_blocks_count); | 2705 | sbi->s_blocks_last = ext4_blocks_count(es); |
2706 | } | 2706 | } |
2707 | 2707 | ||
2708 | buf->f_type = EXT4_SUPER_MAGIC; | 2708 | buf->f_type = EXT4_SUPER_MAGIC; |
diff --git a/include/linux/ext4_fs.h b/include/linux/ext4_fs.h index f5d57c7c0dd7..d30d079a53e2 100644 --- a/include/linux/ext4_fs.h +++ b/include/linux/ext4_fs.h | |||
@@ -501,7 +501,7 @@ do { \ | |||
501 | */ | 501 | */ |
502 | struct ext4_super_block { | 502 | struct ext4_super_block { |
503 | /*00*/ __le32 s_inodes_count; /* Inodes count */ | 503 | /*00*/ __le32 s_inodes_count; /* Inodes count */ |
504 | __le32 s_blocks_count; /* Blocks count */ | 504 | __le32 s_blocks_count_lo; /* Blocks count */ |
505 | __le32 s_r_blocks_count; /* Reserved blocks count */ | 505 | __le32 s_r_blocks_count; /* Reserved blocks count */ |
506 | __le32 s_free_blocks_count; /* Free blocks count */ | 506 | __le32 s_free_blocks_count; /* Free blocks count */ |
507 | /*10*/ __le32 s_free_inodes_count; /* Free inodes count */ | 507 | /*10*/ __le32 s_free_inodes_count; /* Free inodes count */ |
@@ -981,7 +981,7 @@ extern void ext4_inode_table_set(struct super_block *sb, | |||
981 | static inline ext4_fsblk_t ext4_blocks_count(struct ext4_super_block *es) | 981 | static inline ext4_fsblk_t ext4_blocks_count(struct ext4_super_block *es) |
982 | { | 982 | { |
983 | return ((ext4_fsblk_t)le32_to_cpu(es->s_blocks_count_hi) << 32) | | 983 | return ((ext4_fsblk_t)le32_to_cpu(es->s_blocks_count_hi) << 32) | |
984 | le32_to_cpu(es->s_blocks_count); | 984 | le32_to_cpu(es->s_blocks_count_lo); |
985 | } | 985 | } |
986 | 986 | ||
987 | static inline ext4_fsblk_t ext4_r_blocks_count(struct ext4_super_block *es) | 987 | static inline ext4_fsblk_t ext4_r_blocks_count(struct ext4_super_block *es) |
@@ -999,7 +999,7 @@ static inline ext4_fsblk_t ext4_free_blocks_count(struct ext4_super_block *es) | |||
999 | static inline void ext4_blocks_count_set(struct ext4_super_block *es, | 999 | static inline void ext4_blocks_count_set(struct ext4_super_block *es, |
1000 | ext4_fsblk_t blk) | 1000 | ext4_fsblk_t blk) |
1001 | { | 1001 | { |
1002 | es->s_blocks_count = cpu_to_le32((u32)blk); | 1002 | es->s_blocks_count_lo = cpu_to_le32((u32)blk); |
1003 | es->s_blocks_count_hi = cpu_to_le32(blk >> 32); | 1003 | es->s_blocks_count_hi = cpu_to_le32(blk >> 32); |
1004 | } | 1004 | } |
1005 | 1005 | ||