Because of dedupe, data space info cannot reflect how many data has been written, in order to get global_rsv more proper, use total_bytes instead.
Signed-off-by: Liu Bo <bo.li....@oracle.com> --- fs/btrfs/extent-tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index b8fee86..6f8b012 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -4692,14 +4692,14 @@ static u64 calc_global_metadata_size(struct btrfs_fs_info *fs_info) sinfo = __find_space_info(fs_info, BTRFS_BLOCK_GROUP_DATA); spin_lock(&sinfo->lock); - data_used = sinfo->bytes_used; + data_used = sinfo->total_bytes; spin_unlock(&sinfo->lock); sinfo = __find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); spin_lock(&sinfo->lock); if (sinfo->flags & BTRFS_BLOCK_GROUP_DATA) data_used = 0; - meta_used = sinfo->bytes_used; + meta_used = sinfo->total_bytes; spin_unlock(&sinfo->lock); num_bytes = (data_used >> fs_info->sb->s_blocksize_bits) * -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html