File util-linux-libmount-disable-mtab-ro-checks.patch of Package util-linux.7828
This is a backport. util-linux-2.28 uses a different configure option.
From 89958178f6d6ebe0944d423feaea66be521fff43 Mon Sep 17 00:00:00 2001
From: Stanislav Brabec <sbrabec@suse.cz>
Date: Tue, 10 Jan 2017 13:54:17 +0100
Subject: [PATCH] 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>
---
libmount/src/context_mount.c | 2 ++
1 file changed, 2 insertions(+)
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);
+#ifndef USE_LIBMOUNT_FORCE_MOUNTINFO
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;
}
--
2.11.0