summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrederic Crozat <fcrozat@suse.com>2013-02-21 16:09:40 +0100
committerLennart Poettering <lennart@poettering.net>2013-03-01 14:43:18 +0100
commit3f8ee7918207d7128d4edbc20a1e81f4c6e1110e (patch)
treee06e8b1e581b200a2b686c70bd71ef1ae3145b3d /src
parentffa7cd15cd2a9e802827ef0f5762de6c22933c07 (diff)
fstab,mount: detect rbind as bind mount
Correctly detect rbind mount option as bind mount. Fixes https://bugzilla.novell.com/show_bug.cgi?id=804575.
Diffstat (limited to 'src')
-rw-r--r--src/core/mount.c6
-rw-r--r--src/fstab-generator/fstab-generator.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/src/core/mount.c b/src/core/mount.c
index e3d298eb96..419cf27a88 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -329,6 +329,12 @@ static bool mount_is_bind(MountParameters *p) {
if (p->fstype && streq(p->fstype, "bind"))
return true;
+ if (mount_test_option(p->options, "rbind"))
+ return true;
+
+ if (p->fstype && streq(p->fstype, "rbind"))
+ return true;
+
return false;
}
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index bfeddedf62..9db4123530 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -178,7 +178,9 @@ static bool mount_is_bind(struct mntent *me) {
return
hasmntopt(me, "bind") ||
- streq(me->mnt_type, "bind");
+ streq(me->mnt_type, "bind") ||
+ hasmntopt(me, "rbind") ||
+ streq(me->mnt_type, "rbind");
}
static bool mount_is_network(struct mntent *me) {