diff options
| -rw-r--r-- | INSTALL | 6 | ||||
| -rw-r--r-- | NEWS | 6 | ||||
| -rw-r--r-- | doc/index.html | 10 | ||||
| -rw-r--r-- | doc/s6-linux-init-umountall.html | 4 | ||||
| -rw-r--r-- | doc/upgrade.html | 11 | ||||
| -rw-r--r-- | package/deps-build | 6 | ||||
| -rw-r--r-- | package/info | 2 | ||||
| -rw-r--r-- | src/misc/s6-linux-init-umountall.c | 15 |
8 files changed, 45 insertions, 15 deletions
@@ -6,11 +6,11 @@ Build Instructions - A Linux-based system with a standard C development environment - GNU make version 3.81 or later - - skalibs version 2.15.0.0 or later: https://skarnet.org/software/skalibs/ + - skalibs version 2.15.0.1 or later: https://skarnet.org/software/skalibs/ - Optional: nsss version 0.2.1.2 or later: https://skarnet.org/software/nsss/ - Optional: utmps version 0.1.3.3 or later: https://skarnet.org/software/utmps/ - - execline version 2.9.8.2 or later: https://skarnet.org/software/execline/ - - s6 version 2.15.0.0 or later: https://skarnet.org/software/s6/ + - execline version 2.9.9.2 or later: https://skarnet.org/software/execline/ + - s6 version 2.15.0.1 or later: https://skarnet.org/software/s6/ This software is Linux-specific. It will run on a Linux kernel, version 2.6.32 or later. However, it should not be too hard to port to @@ -1,5 +1,11 @@ Changelog for s6-linux-init. +In 1.2.0.2 +---------- + + - Remount fses read-only if they cannot be unmounted + + In 1.2.0.1 ---------- diff --git a/doc/index.html b/doc/index.html index 85beffd..6df4ddd 100644 --- a/doc/index.html +++ b/doc/index.html @@ -74,16 +74,16 @@ kernel command line </li> <li> A Linux-based system with a standard C development environment </li> <li> GNU make, version 3.81 or later </li> <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version -2.15.0.0 or later. It's a build-time requirement. It's also a run-time +2.15.0.1 or later. It's a build-time requirement. It's also a run-time requirement (for <a href="s6-linux-init-maker.html">s6-linux-init-maker</a>) as well as a boot-time requirement (i.e. a run-time requirement for the programs used when you boot a system created with <a href="s6-linux-init-maker.html">s6-linux-init-maker</a>) if you link against the shared version of the skalibs library. </li> <li> <a href="//skarnet.org/software/execline/">execline</a> version -2.9.9.0 or later. It is a build-time and boot-time requirement. </li> +2.9.9.2 or later. It is a build-time and boot-time requirement. </li> <li> <a href="//skarnet.org/software/s6/">s6</a> version -2.15.0.0 or later. It is a build-time and boot-time requirement. </li> +2.15.0.1 or later. It is a build-time and boot-time requirement. </li> </ul> <p> @@ -111,8 +111,8 @@ want nsswitch-like functionality: <ul> <li> The current released version of s6-linux-init is -<a href="s6-linux-init-1.2.0.1.tar.gz">1.2.0.1</a>. -You can access its checksum <a href="s6-linux-init-1.2.0.1.tar.gz.sha256">here</a>. </li> +<a href="s6-linux-init-1.2.0.2.tar.gz">1.2.0.2</a>. +You can access its checksum <a href="s6-linux-init-1.2.0.2.tar.gz.sha256">here</a>. </li> <li> Alternatively, you can checkout a copy of the <a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-linux-init/">s6-linux-init git repository</a>: diff --git a/doc/s6-linux-init-umountall.html b/doc/s6-linux-init-umountall.html index 152cfb5..b922a44 100644 --- a/doc/s6-linux-init-umountall.html +++ b/doc/s6-linux-init-umountall.html @@ -57,7 +57,9 @@ when attempting to unmount the filesystems listed in <tt>/proc/mounts</tt>. in "stage 4", i.e. after a SIGKILL has been sent to all the processes on the system, and right before the system reboots (or halts, or is powered off). By that point, there is no possible process that could prevent real file systems from being unmounted. </li> - <li> It is likely that some filesystems will still fail to unmount, typically + <li> If a filesystem cannot be unmounted because it is busy, <tt>s6-linux-init-umountall</tt> +attempts to remount it read-only instead. </li> + <li> It is likely that some filesystems will still fail, typically cgroups or tmpfses. That's okay: those are pseudo-filesystems, and will not cause data loss or a fsck if the system shuts down while they are still mounted. </li> <li> Distributions usually provide a <tt>umount</tt> command with a <tt>-a</tt> option diff --git a/doc/upgrade.html b/doc/upgrade.html index 89a5b76..0d2bd3d 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -19,6 +19,17 @@ <h1> What has changed in s6-linux-init </h1> +<h2> in 1.2.0.2 </h2> + +<ul> + <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> +dependency bumped to 2.15.0.1. </li> + <li> <a href="//skarnet.org/software/execline/">execline</a> +dependency bumped to 2.9.9.2. </li> + <li> <a href="//skarnet.org/software/s6/">s6</a> +dependency bumped to 2.15.0.1. </li> +</ul> + <h2> in 1.2.0.1 </h2> <ul> diff --git a/package/deps-build b/package/deps-build index c178fe3..b9c53da 100644 --- a/package/deps-build +++ b/package/deps-build @@ -1,5 +1,5 @@ -true true /package/prog/skalibs 2.15.0.0 libskarnet +true true /package/prog/skalibs 2.15.0.1 libskarnet $usensss false /package/admin/nsss 0.2.1.2 libnsss $utmps false /package/admin/utmps 0.1.3.3 libutmps -true false /package/admin/execline 2.9.9.0 libexecline -true false /package/admin/s6 2.15.0.0 libs6 +true false /package/admin/execline 2.9.9.2 libexecline +true false /package/admin/s6 2.15.0.1 libs6 diff --git a/package/info b/package/info index 273d78e..16814a6 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=s6-linux-init -version=1.2.0.1 +version=1.2.0.2 category=admin package_macro_name=S6_LINUX_INIT diff --git a/src/misc/s6-linux-init-umountall.c b/src/misc/s6-linux-init-umountall.c index d4320ad..e7a2f53 100644 --- a/src/misc/s6-linux-init-umountall.c +++ b/src/misc/s6-linux-init-umountall.c @@ -55,8 +55,19 @@ int main (int argc, char const *const *argv) while (line--) if (umount(sa.s + mountpoints[line]) == -1) { - e++ ; - strerr_warnwu2sys("umount ", sa.s + mountpoints[line]) ; + if (errno == EBUSY) + { + if (mount(0, sa.s + mountpoints[line], 0, MS_REMOUNT | MS_RDONLY, 0) == -1) + { + e++ ; + strerr_warnwusys("read-only remount ", sa.s + mountpoints[line]) ; + } + } + else + { + e++ ; + strerr_warnwu2sys("umount ", sa.s + mountpoints[line]) ; + } } stralloc_free(&sa) ; return e ; |
