diff options
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r-- | fs/ext4/super.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index a3768709ce05..30fc27cdf8fc 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -2035,6 +2035,8 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) | |||
2035 | sbi->s_resgid = EXT4_DEF_RESGID; | 2035 | sbi->s_resgid = EXT4_DEF_RESGID; |
2036 | sbi->s_inode_readahead_blks = EXT4_DEF_INODE_READAHEAD_BLKS; | 2036 | sbi->s_inode_readahead_blks = EXT4_DEF_INODE_READAHEAD_BLKS; |
2037 | sbi->s_sb_block = sb_block; | 2037 | sbi->s_sb_block = sb_block; |
2038 | sbi->s_sectors_written_start = part_stat_read(sb->s_bdev->bd_part, | ||
2039 | sectors[1]); | ||
2038 | 2040 | ||
2039 | unlock_kernel(); | 2041 | unlock_kernel(); |
2040 | 2042 | ||
@@ -2072,6 +2074,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) | |||
2072 | sb->s_magic = le16_to_cpu(es->s_magic); | 2074 | sb->s_magic = le16_to_cpu(es->s_magic); |
2073 | if (sb->s_magic != EXT4_SUPER_MAGIC) | 2075 | if (sb->s_magic != EXT4_SUPER_MAGIC) |
2074 | goto cantfind_ext4; | 2076 | goto cantfind_ext4; |
2077 | sbi->s_kbytes_written = le64_to_cpu(es->s_kbytes_written); | ||
2075 | 2078 | ||
2076 | /* Set defaults before we parse the mount options */ | 2079 | /* Set defaults before we parse the mount options */ |
2077 | def_mount_opts = le32_to_cpu(es->s_default_mount_opts); | 2080 | def_mount_opts = le32_to_cpu(es->s_default_mount_opts); |
@@ -2921,6 +2924,10 @@ static int ext4_commit_super(struct super_block *sb, | |||
2921 | set_buffer_uptodate(sbh); | 2924 | set_buffer_uptodate(sbh); |
2922 | } | 2925 | } |
2923 | es->s_wtime = cpu_to_le32(get_seconds()); | 2926 | es->s_wtime = cpu_to_le32(get_seconds()); |
2927 | es->s_kbytes_written = | ||
2928 | cpu_to_le64(EXT4_SB(sb)->s_kbytes_written + | ||
2929 | ((part_stat_read(sb->s_bdev->bd_part, sectors[1]) - | ||
2930 | EXT4_SB(sb)->s_sectors_written_start) >> 1)); | ||
2924 | ext4_free_blocks_count_set(es, percpu_counter_sum_positive( | 2931 | ext4_free_blocks_count_set(es, percpu_counter_sum_positive( |
2925 | &EXT4_SB(sb)->s_freeblocks_counter)); | 2932 | &EXT4_SB(sb)->s_freeblocks_counter)); |
2926 | es->s_free_inodes_count = cpu_to_le32(percpu_counter_sum_positive( | 2933 | es->s_free_inodes_count = cpu_to_le32(percpu_counter_sum_positive( |