mirror of
https://github.com/kdave/btrfs-progs
synced 2025-02-18 02:36:56 +00:00
btrfs-progs: open code btrfs_list_get_path_rootid
The function btrfs_list_get_path_rootid is exported to libbtrfs so it needs to stay, but we can inline the implementation. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
400b66689e
commit
419cb3011c
31
btrfs-list.c
31
btrfs-list.c
@ -1528,10 +1528,14 @@ int btrfs_list_subvols_print(int fd, struct btrfs_list_filter_set *filter_set,
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
u64 top_id = 0;
|
u64 top_id = 0;
|
||||||
|
|
||||||
if (full_path)
|
if (full_path) {
|
||||||
ret = btrfs_list_get_path_rootid(fd, &top_id);
|
ret = lookup_path_rootid(fd, &top_id);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
errno = -ret;
|
||||||
|
error("cannot resolve rootid for path: %m");
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ret = btrfs_list_subvols(fd, &root_lookup);
|
ret = btrfs_list_subvols(fd, &root_lookup);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -1560,9 +1564,12 @@ int btrfs_get_toplevel_subvol(int fd, struct root_info *the_ri)
|
|||||||
struct root_info *ri;
|
struct root_info *ri;
|
||||||
u64 root_id;
|
u64 root_id;
|
||||||
|
|
||||||
ret = btrfs_list_get_path_rootid(fd, &root_id);
|
ret = lookup_path_rootid(fd, &root_id);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
errno = -ret;
|
||||||
|
error("cannot resolve rootid for path: %m");
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
ret = btrfs_list_subvols(fd, &rl);
|
ret = btrfs_list_subvols(fd, &rl);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -1591,9 +1598,12 @@ int btrfs_get_subvol(int fd, struct root_info *the_ri)
|
|||||||
struct root_info *ri;
|
struct root_info *ri;
|
||||||
u64 root_id;
|
u64 root_id;
|
||||||
|
|
||||||
ret = btrfs_list_get_path_rootid(fd, &root_id);
|
ret = lookup_path_rootid(fd, &root_id);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
errno = -ret;
|
||||||
|
error("cannot resolve rootid for path: %m");
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
ret = btrfs_list_subvols(fd, &rl);
|
ret = btrfs_list_subvols(fd, &rl);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -1809,9 +1819,12 @@ char *btrfs_list_path_for_root(int fd, u64 root)
|
|||||||
int ret;
|
int ret;
|
||||||
u64 top_id;
|
u64 top_id;
|
||||||
|
|
||||||
ret = btrfs_list_get_path_rootid(fd, &top_id);
|
ret = lookup_path_rootid(fd, &top_id);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
errno = -ret;
|
||||||
|
error("cannot resolve rootid for path: %m");
|
||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
|
}
|
||||||
|
|
||||||
ret = list_subvol_search(fd, &root_lookup);
|
ret = list_subvol_search(fd, &root_lookup);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
@ -1064,9 +1064,12 @@ static int do_receive(struct btrfs_receive *rctx, const char *tomnt,
|
|||||||
* subvolume we're sitting in so that we can adjust the paths of any
|
* subvolume we're sitting in so that we can adjust the paths of any
|
||||||
* subvols we want to receive in.
|
* subvols we want to receive in.
|
||||||
*/
|
*/
|
||||||
ret = btrfs_list_get_path_rootid(rctx->mnt_fd, &subvol_id);
|
ret = lookup_path_rootid(rctx->mnt_fd, &subvol_id);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
errno = -ret;
|
||||||
|
error("cannot resolve rootid for path: %m");
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
root_subvol_path[0] = 0;
|
root_subvol_path[0] = 0;
|
||||||
ret = btrfs_subvolid_resolve(rctx->mnt_fd, root_subvol_path,
|
ret = btrfs_subvolid_resolve(rctx->mnt_fd, root_subvol_path,
|
||||||
|
@ -674,9 +674,12 @@ static int cmd_subvol_list(const struct cmd_struct *cmd, int argc, char **argv)
|
|||||||
btrfs_list_setup_filter(&filter_set, BTRFS_LIST_FILTER_FLAGS,
|
btrfs_list_setup_filter(&filter_set, BTRFS_LIST_FILTER_FLAGS,
|
||||||
flags);
|
flags);
|
||||||
|
|
||||||
ret = btrfs_list_get_path_rootid(fd, &top_id);
|
ret = lookup_path_rootid(fd, &top_id);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
errno = -ret;
|
||||||
|
error("cannot resolve rootid for path: %m");
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
if (is_list_all)
|
if (is_list_all)
|
||||||
btrfs_list_setup_filter(&filter_set,
|
btrfs_list_setup_filter(&filter_set,
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
#include "kernel-shared/ctree.h"
|
#include "kernel-shared/ctree.h"
|
||||||
#include "common/send-utils.h"
|
#include "common/send-utils.h"
|
||||||
|
#include "common/messages.h"
|
||||||
|
#include "common/utils.h"
|
||||||
#include "ioctl.h"
|
#include "ioctl.h"
|
||||||
#include "btrfs-list.h"
|
#include "btrfs-list.h"
|
||||||
|
|
||||||
@ -44,7 +46,11 @@ static int btrfs_get_root_id_by_sub_path(int mnt_fd, const char *sub_path,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = btrfs_list_get_path_rootid(subvol_fd, root_id);
|
ret = lookup_path_rootid(subvol_fd, root_id);
|
||||||
|
if (ret) {
|
||||||
|
errno = -ret;
|
||||||
|
error("cannot resolve rootid for path: %m");
|
||||||
|
}
|
||||||
close(subvol_fd);
|
close(subvol_fd);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user