From: Harald Hoyer <[email protected]>

Mount units with "x-rootfs.mount" are now ordered before root-fs.target.
As we sometimes construct /sysroot mounts in /etc/fstab in the initrd,
we want these to be mounted before the root-fs.target is active.
---
 src/fstab-generator/fstab-generator.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/fstab-generator/fstab-generator.c 
b/src/fstab-generator/fstab-generator.c
index b4fb134..6905316 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -199,6 +199,13 @@ static bool mount_in_initrd(struct mntent *me) {
                 streq(me->mnt_dir, "/usr");
 }
 
+static bool mount_is_rootfs(struct mntent *me) {
+        assert(me);
+
+        return
+                hasmntopt(me, "x-rootfs.mount");
+}
+
 static int add_mount(const char *what, const char *where, const char *type, 
const char *opts,
                      int passno, bool noauto, bool nofail, bool automount, 
bool isbind,
                      const char *pre, const char *post, const char *source) {
@@ -434,6 +441,9 @@ static int parse_fstab(const char *prefix, bool initrd) {
                         if (initrd) {
                                 post = SPECIAL_INITRD_FS_TARGET;
                                 pre = NULL;
+                        } else if (mount_is_rootfs(me)) {
+                                post = SPECIAL_ROOT_FS_TARGET;
+                                pre = NULL;
                         } else if (mount_is_network(me)) {
                                 post = SPECIAL_REMOTE_FS_TARGET;
                                 pre = SPECIAL_REMOTE_FS_PRE_TARGET;
-- 
1.8.1

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to