uuid: use newly introduced swap_set_uuid

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
This commit is contained in:
Chen Hanxiao
2015-07-01 17:21:13 +08:00
committed by Pino Toscano
parent 80cf46e110
commit 4e8ef1ae37
3 changed files with 20 additions and 17 deletions

View File

@@ -278,6 +278,9 @@ extern int btrfs_set_uuid (const char *device, const char *uuid);
/*-- in ntfs.c --*/
extern char *ntfs_get_label (const char *device);
/*-- in swap.c --*/
extern int swap_set_uuid (const char *device, const char *uuid);
/* ordinary daemon functions use these to indicate errors
* NB: you don't need to prefix the string with the current command,
* it is added automatically by the client-side RPC stubs.

View File

@@ -33,6 +33,7 @@
GUESTFSD_EXT_CMD(str_mkswap, mkswap);
GUESTFSD_EXT_CMD(str_swapon, swapon);
GUESTFSD_EXT_CMD(str_swapoff, swapoff);
GUESTFSD_EXT_CMD(str_swaplabel, swaplabel);
/* Confirmed this is true for Linux swap partitions from the Linux sources. */
#define SWAP_LABEL_MAX 16
@@ -239,3 +240,18 @@ do_swapoff_uuid (const char *uuid)
{
return swaponoff (str_swapoff, "-U", uuid);
}
int
swap_set_uuid (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;
}

View File

@@ -27,7 +27,6 @@
#include "actions.h"
#include "optgroups.h"
GUESTFSD_EXT_CMD(str_swaplabel, swaplabel);
static int
e2uuid (const char *device, const char *uuid)
@@ -56,21 +55,6 @@ xfsuuid (const char *device, const char *uuid)
return xfs_set_uuid (device, uuid);
}
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)
{
@@ -88,7 +72,7 @@ do_set_uuid (const char *device, const char *uuid)
r = xfsuuid (device, uuid);
else if (STREQ (vfs_type, "swap"))
r = swapuuid (device, uuid);
r = swap_set_uuid (device, uuid);
else if (STREQ (vfs_type, "btrfs"))
r = btrfs_set_uuid (device, uuid);