[Libguestfs] [PATCH 1/2] daemon: allow to change the labels of swap partitions
Richard W.M. Jones
rjones at redhat.com
Wed Dec 7 11:54:35 UTC 2016
On Fri, Nov 25, 2016 at 11:22:26AM +0100, Pino Toscano wrote:
> ---
> daemon/daemon.h | 1 +
> daemon/labels.c | 3 +++
> daemon/swap.c | 21 +++++++++++++++++++++
> generator/actions.ml | 4 ++++
> 4 files changed, 29 insertions(+)
>
> diff --git a/daemon/daemon.h b/daemon/daemon.h
> index 79a5288..2379e31 100644
> --- a/daemon/daemon.h
> +++ b/daemon/daemon.h
> @@ -254,6 +254,7 @@ extern int64_t ntfs_minimum_size (const char *device);
>
> /*-- in swap.c --*/
> extern int swap_set_uuid (const char *device, const char *uuid);
> +extern int swap_set_label (const char *device, const char *label);
>
> /* ordinary daemon functions use these to indicate errors
> * NB: you don't need to prefix the string with the current command,
> diff --git a/daemon/labels.c b/daemon/labels.c
> index 20f27cb..aaa3eaf 100644
> --- a/daemon/labels.c
> +++ b/daemon/labels.c
> @@ -85,6 +85,9 @@ do_set_label (const mountable_t *mountable, const char *label)
> else if (STREQ (vfs_type, "xfs"))
> r = xfslabel (mountable->device, label);
>
> + else if (STREQ (vfs_type, "swap"))
> + r = swap_set_label (mountable->device, label);
> +
> else
> NOT_SUPPORTED (-1, "don't know how to set the label for '%s' filesystems",
> vfs_type);
> diff --git a/daemon/swap.c b/daemon/swap.c
> index 9d7839e..028bc1e 100644
> --- a/daemon/swap.c
> +++ b/daemon/swap.c
> @@ -239,3 +239,24 @@ swap_set_uuid (const char *device, const char *uuid)
>
> return 0;
> }
> +
> +int
> +swap_set_label (const char *device, const char *label)
> +{
> + int r;
> + CLEANUP_FREE char *err = NULL;
> +
> + if (strlen (label) > SWAP_LABEL_MAX) {
> + reply_with_error ("%s: Linux swap labels are limited to %d bytes",
> + label, SWAP_LABEL_MAX);
> + return -1;
> + }
> +
> + r = command (NULL, &err, str_swaplabel, "-L", label, device, NULL);
> + if (r == -1) {
> + reply_with_error ("%s", err);
> + return -1;
> + }
> +
> + return 0;
> +}
> diff --git a/generator/actions.ml b/generator/actions.ml
> index 43de38b..5e0356f 100644
> --- a/generator/actions.ml
> +++ b/generator/actions.ml
> @@ -10304,6 +10304,10 @@ when trying to set the label.
>
> The label is limited to 11 bytes.
>
> +=item swap
> +
> +The label is limited to 16 bytes.
> +
> =back
>
> If there is no support for changing the label
> --
> 2.7.4
>
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs
Obvious improvement, ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the Libguestfs
mailing list