X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=generator%2Fgenerator_utils.ml;fp=generator%2Fgenerator_utils.ml;h=4180c0d634a203dfa1e9f35239b220dbe55e0367;hp=f62b195661c9b60acf78902aaffba2de8e4b9f68;hb=4ee190628bc05f0c8fad1f6d9c3e85619a91e8b8;hpb=1f59849a4a45a1c78488eb41b250de631b4405a6 diff --git a/generator/generator_utils.ml b/generator/generator_utils.ml index f62b195..4180c0d 100644 --- a/generator/generator_utils.ml +++ b/generator/generator_utils.ml @@ -55,6 +55,14 @@ let string_of_errcode = function *) let uuidgen () = let s = Digest.to_hex (Digest.file "generator/generator_actions.ml") in + + (* In util-linux <= 2.19, mkswap -U cannot handle the first byte of + * the UUID being zero, so we artificially rewrite such UUIDs. + * http://article.gmane.org/gmane.linux.utilities.util-linux-ng/4273 + *) + if s.[0] = '0' && s.[1] = '0' then + s.[0] <- '1'; + String.sub s 0 8 ^ "-" ^ String.sub s 8 4 ^ "-" ^ String.sub s 12 4 ^ "-"