uuid: add support to change uuid of swap partition

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
This commit is contained in:
Hu Tao
2014-11-28 15:58:05 +08:00
committed by Richard W.M. Jones
parent 196813ea74
commit 95644f33cd
2 changed files with 19 additions and 2 deletions

View File

@@ -29,6 +29,7 @@
GUESTFSD_EXT_CMD(str_tune2fs, tune2fs);
GUESTFSD_EXT_CMD(str_xfs_admin, xfs_admin);
GUESTFSD_EXT_CMD(str_swaplabel, swaplabel);
static int
e2uuid (const char *device, const char *uuid)
@@ -75,6 +76,21 @@ xfsuuid (const char *device, const char *uuid)
return 0;
}
static int
swapuuid (const char *device, const char *uuid)
{
int r;
CLEANUP_FREE char *err = NULL;
r = command (NULL, &err, str_swaplabel, "-U", uuid, device, NULL);
if (r == -1) {
reply_with_error ("%s", err);
return -1;
}
return 0;
}
int
do_set_uuid (const char *device, const char *uuid)
{
@@ -91,6 +107,9 @@ do_set_uuid (const char *device, const char *uuid)
else if (STREQ (vfs_type, "xfs"))
r = xfsuuid (device, uuid);
else if (STREQ (vfs_type, "swap"))
r = swapuuid (device, uuid);
else {
reply_with_error ("don't know how to set the UUID for '%s' filesystems",
vfs_type);

View File

@@ -29,8 +29,6 @@ let rec fs_uuids_perform ~verbose ~quiet g root side_effects =
let fses = g#list_filesystems () in
List.iter (function
| _, "unknown" -> ()
| _, "swap" ->
(* XXX Not implemented *) ()
| dev, typ ->
let new_uuid = Common_utils.uuidgen ~prog () in
try