diff options
Diffstat (limited to 'cmds-fi-usage.c')
-rw-r--r-- | cmds-fi-usage.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/cmds-fi-usage.c b/cmds-fi-usage.c index de7ad668..3bd2ccdf 100644 --- a/cmds-fi-usage.c +++ b/cmds-fi-usage.c @@ -629,7 +629,7 @@ int load_chunk_and_device_info(int fd, struct chunk_info **chunkinfo, ret = load_chunk_info(fd, chunkinfo, chunkcount); if (ret == -EPERM) { warning( -"cannot read detailed chunk info, RAID5/6 numbers will be incorrect, run as root"); +"cannot read detailed chunk info, per-device usage will not be shown, run as root"); } else if (ret) { return ret; } @@ -660,7 +660,7 @@ static u64 calc_chunk_size(struct chunk_info *ci) else if (ci->type & BTRFS_BLOCK_GROUP_RAID6) return ci->size / (ci->num_stripes -2); else if (ci->type & BTRFS_BLOCK_GROUP_RAID10) - return ci->size / ci->num_stripes; + return ci->size / (ci->num_stripes / 2); return ci->size; } @@ -923,9 +923,11 @@ static void _cmd_filesystem_usage_linear(unsigned unit_mode, printf("\n"); } - printf("Unallocated:\n"); - print_unused(info_ptr, info_count, device_info_ptr, device_info_count, - unit_mode | UNITS_NEGATIVE); + if (info_count) { + printf("Unallocated:\n"); + print_unused(info_ptr, info_count, device_info_ptr, + device_info_count, unit_mode | UNITS_NEGATIVE); + } } static int print_filesystem_usage_by_chunk(int fd, @@ -936,9 +938,6 @@ static int print_filesystem_usage_by_chunk(int fd, struct btrfs_ioctl_space_args *sargs; int ret = 0; - if (!chunkinfo) - return 0; - sargs = load_space_info(fd, path); if (!sargs) { ret = 1; |