env: unmount-environment -> unmount-environment-maybe: check for lock
This commit is contained in:
parent
9d574fcdd1
commit
625ce83c94
1 changed files with 10 additions and 7 deletions
17
env.scm
17
env.scm
|
@ -39,7 +39,7 @@
|
|||
remove-env-no-checks!
|
||||
roll-back!
|
||||
environment->overlay-mount-maybe
|
||||
unmount-environment
|
||||
unmount-environment-maybe
|
||||
environment-mounted?))
|
||||
|
||||
(define directory-files (@@ (ice-9 ftw) directory-files))
|
||||
|
@ -431,15 +431,18 @@ by other environments made."
|
|||
(0 (values (make-overlay-mount layers-links upper work merged) 0))
|
||||
(err (values #f err)))))))
|
||||
|
||||
(define (unmount-environment env)
|
||||
(define (unmount-environment-maybe env)
|
||||
(let* ((name (symbol->string (environment-name env)))
|
||||
(dir (string-append %env-directory "/" name))
|
||||
(tmpdirln (string-append "/tmp/genv/" name)))
|
||||
(when (file-exists? dir)
|
||||
(system* "umount" dir)
|
||||
(delete-file-recursively dir))
|
||||
(when (file-exists? tmpdirln)
|
||||
(delete-file tmpdirln))))
|
||||
(if (file-exists? (string-append tmpdirln "/lock"))
|
||||
#f
|
||||
(begin
|
||||
(when (file-exists? dir)
|
||||
(system* "umount" dir)
|
||||
(delete-file-recursively dir))
|
||||
(when (file-exists? tmpdirln)
|
||||
(delete-file tmpdirln))))))
|
||||
|
||||
(define (fuse-overlayfs-mounts)
|
||||
(filter (λ (m) (equal? "fuse.fuse-overlayfs"
|
||||
|
|
Loading…
Reference in a new issue