c1b592fec3
Stop "mount -a -t nfs" from complaining if filesystem already mounted (bsc#950340) OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=157
49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
From f0dc907b52892c18ccad2e573850583c0ee01157 Mon Sep 17 00:00:00 2001
|
|
From: NeilBrown <neilb@suse.com>
|
|
Date: Wed, 21 Oct 2015 14:07:52 +1100
|
|
Subject: [PATCH] mount.nfs - hide EBUSY errors.
|
|
|
|
Linux only returns EBUSY for a non-remount mount if the exact
|
|
requested filesystem is already mounted. Arguably this is not an
|
|
error.
|
|
|
|
"mount -a" tries to see if each request filesystem is already mounted.
|
|
Sometimes it gets it wrong - e.g. hostname aliases can confuse it.
|
|
So "mount -a" will report a failure "already mounted", which is
|
|
wrong because it should filter those out.
|
|
|
|
An easy fix it just to be silent about EBUSY. As the requested
|
|
result (a given filesystem being mounted at a given location) is in
|
|
effect after the EBUSY return, we can just treat it as success.
|
|
|
|
This removed the confusing "already mounted" errors.
|
|
|
|
Signed-off-by: NeilBrown <neilb@suse.com>
|
|
---
|
|
utils/mount/stropts.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
|
|
index 86829a902bfd..320dde2fab92 100644
|
|
--- a/utils/mount/stropts.c
|
|
+++ b/utils/mount/stropts.c
|
|
@@ -960,6 +960,15 @@ static int nfsmount_fg(struct nfsmount_info *mi)
|
|
if (nfs_try_mount(mi))
|
|
return EX_SUCCESS;
|
|
|
|
+ if (errno == EBUSY)
|
|
+ /* The only cause of EBUSY is if exactly the desired
|
|
+ * filesystem is already mounted. That can arguably
|
|
+ * be seen as success. "mount -a" tries to optimise
|
|
+ * out this case but sometimes fails. Help it out
|
|
+ * by pretending everything is rosy
|
|
+ */
|
|
+ return EX_SUCCESS;
|
|
+
|
|
if (nfs_is_permanent_error(errno))
|
|
break;
|
|
|
|
--
|
|
2.7.2
|
|
|