From 89958178f6d6ebe0944d423feaea66be521fff43 Mon Sep 17 00:00:00 2001 From: Stanislav Brabec Date: Tue, 10 Jan 2017 13:54:17 +0100 Subject: 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 --- libmount/src/context_mount.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libmount/src/context_mount.c') 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; } -- cgit v1.2.3-55-g7522