[Libguestfs] [PATCH 3/5] uuid: use newly introduced do_xfs_admin_uuid of xfs

Chen Hanxiao chenhanxiao at cn.fujitsu.com
Wed Jun 24 07:54:05 UTC 2015


Signed-off-by: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
---
 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 eeb4ff7..aba6ef2 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -261,6 +261,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 do_xfs_admin_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 8626884..0520113 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 do_xfs_admin_uuid (device, uuid);
 }
 
 static int
diff --git a/daemon/xfs.c b/daemon/xfs.c
index 687013b..aaeff3e 100644
--- a/daemon/xfs.c
+++ b/daemon/xfs.c
@@ -456,6 +456,13 @@ do_xfs_growfs (const char *path,
 }
 
 int
+do_xfs_admin_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,
               int projid32bit,
-- 
2.1.0




More information about the Libguestfs mailing list