remount-fs: also remount /usr according to fstab

This commit is contained in:
Lennart Poettering 2012-06-29 16:14:01 +02:00
parent 5b6a2c5aab
commit b4efdf9720
4 changed files with 30 additions and 17 deletions

9
TODO
View File

@ -25,6 +25,15 @@ Bugfixes:
Features:
* document that journal data is primarily ASCII, UTF-8 where necessary and binary only where nothing else makes sense.
* on reload/reexec: serialize NInstalledJobs properly
* Document:
- PID 1 D-Bus API
- Update Syslog Interface docs
- Journal C API manual pages
* logind: export a bool property that tells user whether a
suspend/shutdown is currently scheduled, i.e. where are between
PrepareForSuspend(true) and PrepareForSuspend(false)

View File

@ -58,20 +58,21 @@
is an early-boot service that applies mount options
listed in
<citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
to the root file system and the kernel API virtual
file systems. This is required so that the mount
options of these file systems -- which are pre-mounted
by the kernel, the initial RAM disk or system manager
code -- are updated to those listed in
<filename>/etc/fstab</filename>. This service ignores
normal file systems and only changes the root file
system (i.e. <filename>/</filename>) and the virtual
kernel API file systems such as
<filename>/proc</filename>, <filename>/sys</filename>
or <filename>/dev/</filename>. This service executes
no operation if <filename>/etc/fstab</filename> does
not exist or lists no entries for the root file system
or the kernel API VFS.</para>
to the root file system, the <filename>/usr</filename>
file system and the kernel API virtual file
systems. This is required so that the mount options of
these file systems -- which are pre-mounted by the
kernel, the initial RAM disk, container environments
or system manager code -- are updated to those listed
in <filename>/etc/fstab</filename>. This service
ignores normal file systems and only changes the root
file system (i.e. <filename>/</filename>),
<filename>/usr</filename> and the virtual kernel API
file systems such as <filename>/proc</filename>,
<filename>/sys</filename> or
<filename>/dev/</filename>. This service executes no
operation if <filename>/etc/fstab</filename> does not
exist or lists no entries for the mentioned file systems.</para>
</refsect1>
<refsect1>

View File

@ -114,7 +114,9 @@
" </method>\n" \
" <method name=\"Subscribe\"/>\n" \
" <method name=\"Unsubscribe\"/>\n" \
" <method name=\"Dump\"/>\n" \
" <method name=\"Dump\">\n" \
" <arg name=\"dump\" type=\"s\" direction=\"out\"/>\n" \
" </method>\n" \
" <method name=\"CreateSnapshot\">\n" \
" <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
" <arg name=\"cleanup\" type=\"b\" direction=\"in\"/>\n" \

View File

@ -79,9 +79,10 @@ int main(int argc, char *argv[]) {
int k;
char *s;
/* Remount the root fs and all API VFS */
/* Remount the root fs, /usr and all API VFS */
if (!mount_point_is_api(me->mnt_dir) &&
!path_equal(me->mnt_dir, "/"))
!path_equal(me->mnt_dir, "/") &&
!path_equal(me->mnt_dir, "/usr"))
continue;
log_debug("Remounting %s", me->mnt_dir);