btrfs-progs: fi usage: change to output more info without root privilege

Although per device usage cannot be shown without root privilege,
per profile usage can be shown.

To achieve this, we just basically need to remove the check of nullness
of chunkinfo in print_filesystem_usage_by_chunk(), because other
functions except print_unused() properly handles chunkinfo by
chunkcount, which is 0 if chunkinfo is null.

As a result, "fi usage" always includes the information of "fi df".

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Tomohiro Misono <misono.tomohiro@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Misono Tomohiro 2018-03-29 17:23:12 +09:00 committed by David Sterba
parent 781792707a
commit 4aebb2588c
1 changed files with 5 additions and 6 deletions

View File

@ -923,9 +923,11 @@ static void _cmd_filesystem_usage_linear(unsigned unit_mode,
printf("\n"); printf("\n");
} }
printf("Unallocated:\n"); if (info_count) {
print_unused(info_ptr, info_count, device_info_ptr, device_info_count, printf("Unallocated:\n");
unit_mode | UNITS_NEGATIVE); 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, 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; struct btrfs_ioctl_space_args *sargs;
int ret = 0; int ret = 0;
if (!chunkinfo)
return 0;
sargs = load_space_info(fd, path); sargs = load_space_info(fd, path);
if (!sargs) { if (!sargs) {
ret = 1; ret = 1;