btrfs-progs: fi: move dev_to_fsid to cmds-fi-usage for later use
authorMisono, Tomohiro <misono.tomohiro@jp.fujitsu.com>
Mon, 23 Oct 2017 04:44:01 +0000 (13:44 +0900)
committerDavid Sterba <dsterba@suse.com>
Tue, 14 Nov 2017 14:59:00 +0000 (15:59 +0100)
Move dev_to_fsid() from cmds-filesystem.c to cmds-fi-usage.c in order to
call it from both "fi show" and "fi usage".

Signed-off-by: Tomohiro Misono <misono.tomohiro@jp.fujitsu.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
cmds-fi-usage.c
cmds-fi-usage.h
cmds-filesystem.c

index 6c846c1..a72fb4e 100644 (file)
@@ -22,6 +22,7 @@
 #include <errno.h>
 #include <stdarg.h>
 #include <getopt.h>
+#include <fcntl.h>
 
 #include "utils.h"
 #include "kerncompat.h"
@@ -29,6 +30,7 @@
 #include "string-table.h"
 #include "cmds-fi-usage.h"
 #include "commands.h"
+#include "disk-io.h"
 
 #include "version.h"
 #include "help.h"
@@ -506,6 +508,33 @@ static int cmp_device_info(const void *a, const void *b)
                        ((struct device_info *)b)->path);
 }
 
+int dev_to_fsid(const char *dev, __u8 *fsid)
+{
+       struct btrfs_super_block *disk_super;
+       char buf[BTRFS_SUPER_INFO_SIZE];
+       int ret;
+       int fd;
+
+       fd = open(dev, O_RDONLY);
+       if (fd < 0) {
+               ret = -errno;
+               return ret;
+       }
+
+       disk_super = (struct btrfs_super_block *)buf;
+       ret = btrfs_read_dev_super(fd, disk_super,
+                                  BTRFS_SUPER_INFO_OFFSET, SBREAD_DEFAULT);
+       if (ret)
+               goto out;
+
+       memcpy(fsid, disk_super->fsid, BTRFS_FSID_SIZE);
+       ret = 0;
+
+out:
+       close(fd);
+       return ret;
+}
+
 /*
  *  This function loads the device_info structure and put them in an array
  */
index a399517..0e82951 100644 (file)
@@ -50,5 +50,6 @@ void print_device_chunks(struct device_info *devinfo,
                struct chunk_info *chunks_info_ptr,
                int chunks_info_count, unsigned unit_mode);
 void print_device_sizes(struct device_info *devinfo, unsigned unit_mode);
+int dev_to_fsid(const char *dev, __u8 *fsid);
 
 #endif
index 46aa497..0f8e6cd 100644 (file)
@@ -431,33 +431,6 @@ out:
        return !found;
 }
 
-static int dev_to_fsid(const char *dev, __u8 *fsid)
-{
-       struct btrfs_super_block *disk_super;
-       char buf[BTRFS_SUPER_INFO_SIZE];
-       int ret;
-       int fd;
-
-       fd = open(dev, O_RDONLY);
-       if (fd < 0) {
-               ret = -errno;
-               return ret;
-       }
-
-       disk_super = (struct btrfs_super_block *)buf;
-       ret = btrfs_read_dev_super(fd, disk_super,
-                                  BTRFS_SUPER_INFO_OFFSET, SBREAD_DEFAULT);
-       if (ret)
-               goto out;
-
-       memcpy(fsid, disk_super->fsid, BTRFS_FSID_SIZE);
-       ret = 0;
-
-out:
-       close(fd);
-       return ret;
-}
-
 static void free_fs_devices(struct btrfs_fs_devices *fs_devices)
 {
        struct btrfs_fs_devices *cur_seed, *next_seed;