diff options
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r-- | fs/btrfs/super.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 39a1435c68f1..5c4370f3a5b8 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -303,10 +303,12 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
303 | { | 303 | { |
304 | struct btrfs_root *root = btrfs_sb(dentry->d_sb); | 304 | struct btrfs_root *root = btrfs_sb(dentry->d_sb); |
305 | struct btrfs_super_block *disk_super = &root->fs_info->super_copy; | 305 | struct btrfs_super_block *disk_super = &root->fs_info->super_copy; |
306 | int bits = dentry->d_sb->s_blocksize_bits; | ||
306 | 307 | ||
307 | buf->f_namelen = BTRFS_NAME_LEN; | 308 | buf->f_namelen = BTRFS_NAME_LEN; |
308 | buf->f_blocks = btrfs_super_total_blocks(disk_super); | 309 | buf->f_blocks = btrfs_super_total_bytes(disk_super) >> bits; |
309 | buf->f_bfree = buf->f_blocks - btrfs_super_blocks_used(disk_super); | 310 | buf->f_bfree = buf->f_blocks - |
311 | (btrfs_super_bytes_used(disk_super) >> bits); | ||
310 | buf->f_bavail = buf->f_bfree; | 312 | buf->f_bavail = buf->f_bfree; |
311 | buf->f_bsize = dentry->d_sb->s_blocksize; | 313 | buf->f_bsize = dentry->d_sb->s_blocksize; |
312 | buf->f_type = BTRFS_SUPER_MAGIC; | 314 | buf->f_type = BTRFS_SUPER_MAGIC; |