summaryrefslogtreecommitdiffstats
path: root/libmount
diff options
context:
space:
mode:
authorStanislav Brabec2017-01-10 13:54:17 +0100
committerKarel Zak2017-01-10 17:32:32 +0100
commit89958178f6d6ebe0944d423feaea66be521fff43 (patch)
treece5bc24742790d4b0a95c855431333c3c20a7db0 /libmount
parentman: fix couple tools/checkmans.sh warnings (diff)
downloadkernel-qcow2-util-linux-89958178f6d6ebe0944d423feaea66be521fff43.tar.gz
kernel-qcow2-util-linux-89958178f6d6ebe0944d423feaea66be521fff43.tar.xz
kernel-qcow2-util-linux-89958178f6d6ebe0944d423feaea66be521fff43.zip
If mtab support is disabled, disable ro/rw mtab checks
Commit f9906424 introduced a check that should prevent different information in mtab and /proc/mounts. The check can require significant amount of time, and for systems without mtab support it has no sense. Execute this code only on systems with mtab. When a systems with large number of nodes (thousands) mount the filesystems simultaneously, the time required for serialization causes the utimensat() to take a large amount of time (tens of minutes) when a large number of nodes are simultaneously updating the timestamp. Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
Diffstat (limited to 'libmount')
-rw-r--r--libmount/src/context_mount.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
index a7ea83250..23f0e303a 100644
--- a/libmount/src/context_mount.c
+++ b/libmount/src/context_mount.c
@@ -987,6 +987,7 @@ int mnt_context_do_mount(struct libmnt_context *cxt)
} else
res = do_mount_by_pattern(cxt, cxt->fstype_pattern);
+#if USE_LIBMOUNT_SUPPORT_MTAB
if (mnt_context_get_status(cxt)
&& !mnt_context_is_fake(cxt)
&& !cxt->helper) {
@@ -1016,6 +1017,7 @@ int mnt_context_do_mount(struct libmnt_context *cxt)
mnt_context_set_mflags(cxt,
cxt->mountflags | MS_RDONLY);
}
+#endif
return res;
}