From f2744dbc936b844702ae61254a0fb7470fb5b02d Mon Sep 17 00:00:00 2001 From: David Sterba Date: Mon, 31 Oct 2016 10:27:25 +0100 Subject: btrfs-progs: qgroups show: handle errors when resolving root id If btrfs_get_path_rootid fails, prints an error message but continues. Replace with a helper that returns an error. Signed-off-by: David Sterba --- cmds-qgroup.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'cmds-qgroup.c') diff --git a/cmds-qgroup.c b/cmds-qgroup.c index 98149410..7c5532c4 100644 --- a/cmds-qgroup.c +++ b/cmds-qgroup.c @@ -366,7 +366,13 @@ static int cmd_qgroup_show(int argc, char **argv) } if (filter_flag) { - qgroupid = btrfs_get_path_rootid(fd); + ret = lookup_ino_rootid(fd, &qgroupid); + if (ret < 0) { + error("cannot resolve rootid for %s: %s", + path, strerror(-ret)); + close_file_or_dir(fd, dirstream); + goto out; + } if (filter_flag & 0x1) btrfs_qgroup_setup_filter(&filter_set, BTRFS_QGROUP_FILTER_ALL_PARENT, @@ -382,6 +388,7 @@ static int cmd_qgroup_show(int argc, char **argv) if (ret < 0) error("can't list qgroups: %s", strerror(e)); +out: return !!ret; } -- cgit v1.2.3