summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-12-24 13:01:00 +0100
committerLennart Poettering <lennart@poettering.net>2012-12-24 13:01:00 +0100
commitf9ea108e7c3544c03822277a1112a48dc62f6ed4 (patch)
tree4d2e10db307ad96a2ac141e04eafe32443f20e72
parent95b4be171988fc2ea33377b1b4450e5d410add7b (diff)
fstab-generator: properly detect bind mounts
This kinda undoes a83cbaccd03c3f28e47e9330f4a22ff65ce4b561 and 1d634e21b453f3c80d7c6c4bd90a6b84e42a3d2a but corrects the original code to compare the mount type with "bind" rather than the mount options.
-rw-r--r--src/fstab-generator/fstab-generator.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index ba55f2c2b7..23e5051925 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -194,6 +194,14 @@ finish:
return r;
}
+static bool mount_is_bind(struct mntent *me) {
+ assert(me);
+
+ return
+ hasmntopt(me, "bind") ||
+ streq(me->mnt_type, "bind");
+}
+
static bool mount_is_network(struct mntent *me) {
assert(me);
@@ -226,7 +234,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) {
return 0;
isnetwork = mount_is_network(me);
- isbind = !!hasmntopt(me, "bind");
+ isbind = mount_is_bind(me);
noauto = !!hasmntopt(me, "noauto");
nofail = !!hasmntopt(me, "nofail");