mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git
synced 2025-01-22 19:53:22 +08:00
btrfs-progs: fi: move dev_to_fsid to cmds-fi-usage for later use
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>
This commit is contained in:
parent
766e4ed597
commit
94afa11d83
@ -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
|
||||
*/
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user