Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jul 2011 21:00:46 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r224487 - stable/8/sys/fs/nfsclient
Message-ID:  <201107282100.p6SL0kGl018917@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Thu Jul 28 21:00:46 2011
New Revision: 224487
URL: http://svn.freebsd.org/changeset/base/224487

Log:
  MFC: r223971
  r222389 introduced a case where the NFSv4 client could
  loop in nfscl_getcl() when a forced dismount is in progress,
  because nfsv4_lock() will return 0 without sleeping when
  MNTK_UNMOUNTF is set.
  This patch fixes it so it won't loop calling nfsv4_lock()
  for this case.

Modified:
  stable/8/sys/fs/nfsclient/nfs_clstate.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/geom/label/   (props changed)

Modified: stable/8/sys/fs/nfsclient/nfs_clstate.c
==============================================================================
--- stable/8/sys/fs/nfsclient/nfs_clstate.c	Thu Jul 28 20:30:55 2011	(r224486)
+++ stable/8/sys/fs/nfsclient/nfs_clstate.c	Thu Jul 28 21:00:46 2011	(r224487)
@@ -761,7 +761,8 @@ nfscl_getcl(vnode_t vp, struct ucred *cr
 			FREE((caddr_t)newclp, M_NFSCLCLIENT);
 	}
 	NFSLOCKCLSTATE();
-	while ((clp->nfsc_flags & NFSCLFLAGS_HASCLIENTID) == 0 && !igotlock)
+	while ((clp->nfsc_flags & NFSCLFLAGS_HASCLIENTID) == 0 && !igotlock &&
+	    (mp->mnt_kern_flag & MNTK_UNMOUNTF) == 0)
 		igotlock = nfsv4_lock(&clp->nfsc_lock, 1, NULL,
 		    NFSCLSTATEMUTEXPTR, mp);
 	if (!igotlock)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107282100.p6SL0kGl018917>