[bug#71402] services: Never throw when stopping mount-may-fail file systems.
Commit Message
This is a followup to 7c27bd115b14afd142da7684cc349369965f9eab.
* gnu/services/base.scm (file-system-shepherd-service): Catch
'system-error from ‘umount’ call when FILE-SYSTEM is marked as
mount-may-fail.
Change-Id: I2234f8da320b43089f4ee058cad8608ce9c078f8
---
gnu/services/base.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Hi!
File systems marked as mount-may-fail could throw when stopped
(when the file system hadn't actually been mount). This was mostly
harmless, but it should be ignored as well.
Thoughts?
Ludo'.
base-commit: 40c6f708393885a2d28f847350e8f47beb11e745
Comments
Ludovic Courtès <ludo@gnu.org> skribis:
> This is a followup to 7c27bd115b14afd142da7684cc349369965f9eab.
>
> * gnu/services/base.scm (file-system-shepherd-service): Catch
> 'system-error from ‘umount’ call when FILE-SYSTEM is marked as
> mount-may-fail.
>
> Change-Id: I2234f8da320b43089f4ee058cad8608ce9c078f8
I went ahead and pushed this as
7c8d38f91e7bd4aed106aacc78eb454789538c31.
Ludo’.
@@ -448,7 +448,11 @@ (define (file-system-shepherd-service file-system)
;; Make sure PID 1 doesn't keep TARGET busy.
(chdir "/")
- (umount #$target)
+ #$(if (file-system-mount-may-fail? file-system)
+ #~(catch 'system-error
+ (lambda () (umount #$target))
+ (const #f))
+ #~(umount #$target))
#f))
;; We need additional modules.