[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: File systems
From: |
Ludovic Courtès |
Subject: |
Re: File systems |
Date: |
Wed, 14 May 2014 19:12:40 +0200 |
User-agent: |
Gnus/5.130009 (Ma Gnus v0.9) Emacs/24.3 (gnu/linux) |
address@hidden (Ludovic Courtès) skribis:
> To support clean unmounting of file systems upon shutdown, special dmd
> services are added to the graph (see (gnu services base)):
>
> • ‘root-file-system’, whose stop action is to remount / read-only;
> this is the last service that is stopped when shutting down.
>
> • For each file system not needed for boot, there’s a
> ‘file-system-XYZ’ service depending only on ‘root-file-system’, with
> a stop action to unmount XYZ.
>
> • ‘user-processes’, which depends on all the ‘file-system-XYZ’ and on
> ‘root-file-system’. Its stop action is to kill all the processes
> still running. All the services that spawn processes must depend on
> it. The goal is to make sure the file systems can actually be
> unmounted.
There was the complication that when root is a user-space file system,
like unionfs-fuse (as in the VM produced by ‘guix system vm’),
‘user-processes’ would kill it, thus leading to breakage just before
reboot.
Commit 7d57cfd fixes that by providing a mechanism to tell
‘user-processes’ which processes must remain alive during shutdown. In
the unionfs-fuse case, the initrd code just writes the PID of
unionfs-fuse to /etc/dmd/do-not-kill, and ‘user-processes’ honors that file.
Ludo’.
- File systems, Ludovic Courtès, 2014/05/10
- Re: File systems,
Ludovic Courtès <=