summaryrefslogtreecommitdiff
path: root/src/fstab-generator/fstab-generator.c
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/fstab-generator.c
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/fstab-generator.c')
-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");