[PATCH] mount.nfs: background mount now do directly into background

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Modern day kernel will no longer return all timeout
errors instead the process spins endlessly in the kernel.
This behavior will cause the foreground mount to hang, never
allowing the mount to go into background.

So this patch eliminates the foreground mount cause
background mounts to go directly into background

Signed-off-by: Steve Dickson <steved@xxxxxxxxxx>
---
 utils/mount/stropts.c |   31 ++++++++-----------------------
 1 files changed, 8 insertions(+), 23 deletions(-)

diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index a642394..92a7245 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -913,28 +913,6 @@ static int nfsmount_fg(struct nfsmount_info *mi)
 }
 
 /*
- * Handle "background" NFS mount [first try]
- *
- * Returns a valid mount command exit code.
- *
- * EX_BG should cause the caller to fork and invoke nfsmount_child.
- */
-static int nfsmount_parent(struct nfsmount_info *mi)
-{
-	if (nfs_try_mount(mi))
-		return EX_SUCCESS;
-
-	/* retry background mounts when the server is not up */
-	if (nfs_is_permanent_error(errno) && errno != EOPNOTSUPP) {
-		mount_error(mi->spec, mi->node, errno);
-		return EX_FAIL;
-	}
-
-	sys_mount_errors(mi->hostname, errno, 1, 1);
-	return EX_BG;
-}
-
-/*
  * Handle "background" NFS mount [retry daemon]
  *
  * Returns a valid mount command exit code: EX_SUCCESS if successful,
@@ -982,7 +960,14 @@ static int nfsmount_child(struct nfsmount_info *mi)
 static int nfsmount_bg(struct nfsmount_info *mi)
 {
 	if (!mi->child)
-		return nfsmount_parent(mi);
+		/* 
+		 * Modern day kernels no longer return all 
+		 * timeouts errors in all cases, instead 
+		 * the process spins in the kernel, which 
+		 * will hang a foreground mount. So background
+		 * mounts have to go directly into background
+		 */
+		return EX_BG;
 	else
 		return nfsmount_child(mi);
 }
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux