diff options
author | Karel Zak | 2018-01-03 13:59:59 +0100 |
---|---|---|
committer | Karel Zak | 2018-01-03 14:02:27 +0100 |
commit | b5cc232362a60b2a7738ee250609202bd6195e49 (patch) | |
tree | c429435f01048dc3018a7dd5734fe40c58dc90a5 | |
parent | libfdisk: (dos) fix max heads (diff) | |
download | kernel-qcow2-util-linux-b5cc232362a60b2a7738ee250609202bd6195e49.tar.gz kernel-qcow2-util-linux-b5cc232362a60b2a7738ee250609202bd6195e49.tar.xz kernel-qcow2-util-linux-b5cc232362a60b2a7738ee250609202bd6195e49.zip |
libmount: fix mnt_table_is_fs_mounted() for rbind
There is no difference between "bind" and "rbind" if we want to FS
root to search for the FS in mountinfo file.
fstab:
/dev/sdc1 /mnt/foo xfs defaults 0 0
/mnt/foo /mnt/test none rw,rbind 0 0
use -a more than once:
mount -a
mount -a
/proc/mounts (the current result):
/dev/sdc1 /mnt/foo xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/sdc1 /mnt/test xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/sdc1 /mnt/test xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/sdc1 /mnt/foo xfs rw,relatime,attr2,inode64,noquota 0 0
expected (fixed version) result:
/dev/sdc1 /mnt/foo xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/sdc1 /mnt/test xfs rw,relatime,attr2,inode64,noquota 0 0
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1528959
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r-- | libmount/src/tab.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libmount/src/tab.c b/libmount/src/tab.c index 760b95b5f..968057e42 100644 --- a/libmount/src/tab.c +++ b/libmount/src/tab.c @@ -1561,7 +1561,8 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs) struct libmnt_fs *rootfs; int flags = 0; - if (mnt_fs_get_option(fstab_fs, "bind", NULL, NULL) == 0) + if (mnt_fs_get_option(fstab_fs, "bind", NULL, NULL) == 0 || + mnt_fs_get_option(fstab_fs, "rbind", NULL, NULL) == 0) flags = MS_BIND; rootfs = mnt_table_get_fs_root(tb, fstab_fs, flags, &root); |