mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
offload: Better report failure to create the GC root directory.
Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/scripts/offload.scm (register-gc-root)[script]: Replace 'false-if-exception' with a finer-grain 'system-error handler. Provide the name of MACHINE in 'leave' error message.
This commit is contained in:
parent
7d157c652c
commit
353e34a626
1 changed files with 9 additions and 2 deletions
|
@ -310,7 +310,14 @@ (define script
|
|||
;; directory.
|
||||
(let ((root-directory (string-append %state-directory
|
||||
"/gcroots/tmp")))
|
||||
(false-if-exception (mkdir root-directory))
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(mkdir root-directory))
|
||||
(lambda args
|
||||
(unless (= EEXIST (system-error-errno args))
|
||||
(error "failed to create remote GC root directory"
|
||||
root-directory (system-error-errno args)))))
|
||||
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(symlink ,file
|
||||
|
@ -331,7 +338,7 @@ (define script
|
|||
;; Better be safe than sorry: if we ignore the error here, then FILE
|
||||
;; may be GC'd just before we start using it.
|
||||
(leave (_ "failed to register GC root for '~a' on '~a' (status: ~a)~%")
|
||||
file machine status)))))
|
||||
file (build-machine-name machine) status)))))
|
||||
|
||||
(define (remove-gc-roots machine)
|
||||
"Remove from MACHINE the GC roots previously installed with
|
||||
|
|
Loading…
Reference in a new issue