From 448763c64a68bef4b4ba0956c477db55b005862b Mon Sep 17 00:00:00 2001 From: "Misono, Tomohiro" Date: Wed, 27 Sep 2017 11:01:43 +0900 Subject: btrfs-progs: move get_fsid() to utils.c Make get_fsid() to a common functions. This will be used for 'subvol delete --commit-after'. Signed-off-by: Tomohiro Misono Reviewed-by: Qu Wenruo Signed-off-by: David Sterba --- cmds-property.c | 30 ------------------------------ utils.c | 30 ++++++++++++++++++++++++++++++ utils.h | 1 + 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/cmds-property.c b/cmds-property.c index 9ae12460..03bafa05 100644 --- a/cmds-property.c +++ b/cmds-property.c @@ -48,36 +48,6 @@ static int parse_prop(const char *arg, const struct prop_handler *props, return -1; } -static int get_fsid(const char *path, u8 *fsid, int silent) -{ - int ret; - int fd; - struct btrfs_ioctl_fs_info_args args; - - fd = open(path, O_RDONLY); - if (fd < 0) { - ret = -errno; - if (!silent) - error("failed to open %s: %s", path, - strerror(-ret)); - goto out; - } - - ret = ioctl(fd, BTRFS_IOC_FS_INFO, &args); - if (ret < 0) { - ret = -errno; - goto out; - } - - memcpy(fsid, args.fsid, BTRFS_FSID_SIZE); - ret = 0; - -out: - if (fd != -1) - close(fd); - return ret; -} - static int check_btrfs_object(const char *object) { int ret; diff --git a/utils.c b/utils.c index 7a2710fe..39629a79 100644 --- a/utils.c +++ b/utils.c @@ -1758,6 +1758,36 @@ out: return ret; } +int get_fsid(const char *path, u8 *fsid, int silent) +{ + int ret; + int fd; + struct btrfs_ioctl_fs_info_args args; + + fd = open(path, O_RDONLY); + if (fd < 0) { + ret = -errno; + if (!silent) + error("failed to open %s: %s", path, + strerror(-ret)); + goto out; + } + + ret = ioctl(fd, BTRFS_IOC_FS_INFO, &args); + if (ret < 0) { + ret = -errno; + goto out; + } + + memcpy(fsid, args.fsid, BTRFS_FSID_SIZE); + ret = 0; + +out: + if (fd != -1) + close(fd); + return ret; +} + static int group_profile_devs_min(u64 flag) { switch (flag & BTRFS_BLOCK_GROUP_PROFILE_MASK) { diff --git a/utils.h b/utils.h index d28a05a6..b3aabe14 100644 --- a/utils.h +++ b/utils.h @@ -100,6 +100,7 @@ int open_file_or_dir3(const char *fname, DIR **dirstream, int open_flags); void close_file_or_dir(int fd, DIR *dirstream); int get_fs_info(const char *path, struct btrfs_ioctl_fs_info_args *fi_args, struct btrfs_ioctl_dev_info_args **di_ret); +int get_fsid(const char *path, u8 *fsid, int silent); int get_label(const char *btrfs_dev, char *label); int set_label(const char *btrfs_dev, const char *label); -- cgit v1.2.3