From 0dd04b9986dd834782c988035569089785a6987d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 18 Jun 2020 21:12:35 -0400 Subject: machine: ssh: Fix guix deploy hang when using non-DCE UUIDs. Fixes . The UUID type information was lost when passing to the lower gexp code strata, which led to not being able to recreate the UUID in the generated script. This occurred for non-DCE type UUIDs such as that of a FAT file system. A following commit will prevent the find-partition-by-uuid procedure from entering a loop when its UUID argument is invalid. Reported-by: Brice Waegeneire * gnu/machine/ssh.scm (machine-check-file-system-availability): Replace the STRING->UUID procedure by the UUID macro, and provide the UUID type as its second argument. --- gnu/machine/ssh.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gnu/machine') diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm index 116da86327..7194181681 100644 --- a/gnu/machine/ssh.scm +++ b/gnu/machine/ssh.scm @@ -210,10 +210,9 @@ exist on the machine." (use-modules (gnu build file-systems) (gnu system uuid)) - (define uuid - (string->uuid #$(uuid->string (file-system-device fs)))) - - (find-partition-by-uuid uuid)))) + (let ((uuid (uuid #$(uuid->string (file-system-device fs)) + '#$(uuid-type (file-system-device fs))))) + (find-partition-by-uuid uuid))))) (remote-let ((result remote-exp)) (unless result -- cgit v1.2.3