summaryrefslogtreecommitdiff
path: root/cmds-fi-usage.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmds-fi-usage.c')
-rw-r--r--cmds-fi-usage.c15
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;