diff options
author | David Sterba <dsterba@suse.com> | 2016-10-31 10:38:31 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-11-09 13:47:28 +0100 |
commit | 1c85c3de5aab997ff66ea95cb0f2c9f79726ec40 (patch) | |
tree | 48089000f1128679f762ab9f5e9b9a5f91835718 | |
parent | 49cb98e5d6989055860eee06879c10896489062f (diff) |
btrfs-progs: use existing rootid resolving helper in btrfs_list_get_path_rootid
The utils helper is not verbose in case of an error, for now the helper
used for subvolume listing will print the error message but not
duplicate the ioctl anymore.
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | btrfs-list.c | 19 | ||||
-rw-r--r-- | cmds-receive.c | 5 | ||||
-rw-r--r-- | cmds-subvolume.c | 4 | ||||
-rw-r--r-- | utils.c | 4 |
4 files changed, 9 insertions, 23 deletions
diff --git a/btrfs-list.c b/btrfs-list.c index b5d4458b..831b13d3 100644 --- a/btrfs-list.c +++ b/btrfs-list.c @@ -1888,19 +1888,12 @@ int btrfs_list_parse_filter_string(char *opt_arg, int btrfs_list_get_path_rootid(int fd, u64 *treeid) { - int ret; - struct btrfs_ioctl_ino_lookup_args args; - - memset(&args, 0, sizeof(args)); - args.objectid = BTRFS_FIRST_FREE_OBJECTID; + int ret; - ret = ioctl(fd, BTRFS_IOC_INO_LOOKUP, &args); - if (ret < 0) { - fprintf(stderr, - "ERROR: can't perform the search - %s\n", + ret = lookup_path_rootid(fd, treeid); + if (ret < 0) + error("cannot resolve rootid for path: %s", strerror(errno)); - return ret; - } - *treeid = args.treeid; - return 0; + + return ret; } diff --git a/cmds-receive.c b/cmds-receive.c index d0525bfb..62a79850 100644 --- a/cmds-receive.c +++ b/cmds-receive.c @@ -1106,11 +1106,8 @@ static int do_receive(struct btrfs_receive *r, const char *tomnt, * subvols we want to receive in. */ ret = btrfs_list_get_path_rootid(r->mnt_fd, &subvol_id); - if (ret) { - error("cannot resolve our subvolid: %d", - ret); + if (ret) goto out; - } root_subvol_path[0] = 0; ret = btrfs_subvolid_resolve(r->mnt_fd, root_subvol_path, diff --git a/cmds-subvolume.c b/cmds-subvolume.c index bcfe5edc..3b5d6ea5 100644 --- a/cmds-subvolume.c +++ b/cmds-subvolume.c @@ -548,10 +548,8 @@ static int cmd_subvol_list(int argc, char **argv) } ret = btrfs_list_get_path_rootid(fd, &top_id); - if (ret) { - error("can't get rootid for '%s'", subvol); + if (ret) goto out; - } if (is_list_all) btrfs_list_setup_filter(&filter_set, @@ -4161,10 +4161,8 @@ int get_subvol_info(const char *fullpath, struct root_info *get_ri) goto out; ret = btrfs_list_get_path_rootid(fd, &sv_id); - if (ret) { - error("can't get rootid for '%s'", fullpath); + if (ret) goto out; - } mntfd = btrfs_open_dir(mnt, &dirstream2, 1); if (mntfd < 0) |