summaryrefslogtreecommitdiff
path: root/src/fstab-generator
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 /src/fstab-generator
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.
Diffstat (limited to 'src/fstab-generator')
-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 ba55f2c2b..23e505192 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");