From 6befd1464d9939b9c15373b19296e796bea3d8d5 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Fri, 18 Aug 2017 10:34:16 +0200 Subject: [PATCH] resize: handle empty UUIDs for swap partitions (RHBZ#1482737) Avoid passing an empty UUID string to mkswap, which mkswap does not accept (correctly) as new UUID. In addition, print a warning when the UUID of a swap partition changed, since it may require manual fixups in the guest. --- resize/resize.ml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/resize/resize.ml b/resize/resize.ml index fbb2d021b..48c75161d 100644 --- a/resize/resize.ml +++ b/resize/resize.ml @@ -1347,9 +1347,20 @@ read the man page virt-resize(1). (* Rebuild the swap using the UUID and label of the existing * swap partition. *) - let uuid = g#vfs_uuid target in + let orig_uuid = g#vfs_uuid target in + let uuid = + match orig_uuid with + | "" -> None + | uuid -> Some uuid in let label = g#vfs_label target in - g#mkswap ~uuid ~label target + g#mkswap ?uuid ~label target; + (* Check whether the UUID could be set, and warn in case it + * changed. + *) + let new_uuid = g#vfs_uuid target in + if new_uuid <> orig_uuid then + warning (f_"UUID in swap partition %s changed from ā€˜%s’ to ā€˜%s’") + target orig_uuid new_uuid; in (* Expand partition content as required. *)