guix-devel
[Top][All Lists]
Advanced

[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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]