From 516638891472441710c4df912b28229ffd52918e Mon Sep 17 00:00:00 2001 From: Chen Hanxiao Date: Tue, 30 Jun 2015 19:23:10 +0800 Subject: [PATCH] uuid: use newly introduced xfs_set_uuid of xfs Signed-off-by: Chen Hanxiao --- daemon/daemon.h | 1 + daemon/uuids.c | 12 +----------- daemon/xfs.c | 7 +++++++ 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/daemon/daemon.h b/daemon/daemon.h index e97709560..0e6efdd7a 100644 --- a/daemon/daemon.h +++ b/daemon/daemon.h @@ -262,6 +262,7 @@ extern int copy_xattrs (const char *src, const char *dest); /*-- in xfs.c --*/ /* Documented in xfs_admin(8). */ #define XFS_LABEL_MAX 12 +extern int xfs_set_uuid (const char *device, const char *uuid); /*-- debug-bmap.c --*/ extern char *debug_bmap (const char *subcmd, size_t argc, char *const *const argv); diff --git a/daemon/uuids.c b/daemon/uuids.c index eafe62b24..7635e763c 100644 --- a/daemon/uuids.c +++ b/daemon/uuids.c @@ -27,7 +27,6 @@ #include "actions.h" #include "optgroups.h" -GUESTFSD_EXT_CMD(str_xfs_admin, xfs_admin); GUESTFSD_EXT_CMD(str_swaplabel, swaplabel); static int @@ -48,22 +47,13 @@ e2uuid (const char *device, const char *uuid) static int xfsuuid (const char *device, const char *uuid) { - int r; - CLEANUP_FREE char *err = NULL; - /* Don't allow special values. */ if (STREQ (uuid, "nil") || STREQ (uuid, "generate")) { reply_with_error ("xfs: invalid new UUID"); return -1; } - r = command (NULL, &err, str_xfs_admin, "-U", uuid, device, NULL); - if (r == -1) { - reply_with_error ("%s", err); - return -1; - } - - return 0; + return xfs_set_uuid (device, uuid); } static int diff --git a/daemon/xfs.c b/daemon/xfs.c index 687013b51..fb7acb4a6 100644 --- a/daemon/xfs.c +++ b/daemon/xfs.c @@ -455,6 +455,13 @@ do_xfs_growfs (const char *path, return 0; } +int +xfs_set_uuid (const char *device, const char *uuid) +{ + optargs_bitmask = GUESTFS_XFS_ADMIN_UUID_BITMASK; + return do_xfs_admin (device, 0, 0, 0, 0, 0, NULL, uuid); +} + int do_xfs_admin (const char *device, int extunwritten, int imgfile, int v2log,