Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Dec 2008 03:59:21 +0000 (UTC)
From:      Ken Smith <kensmith@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r186309 - in stable/7/sys: . contrib/pf dev/cxgb nfsserver
Message-ID:  <200812190359.mBJ3xLov060881@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kensmith
Date: Fri Dec 19 03:59:20 2008
New Revision: 186309
URL: http://svn.freebsd.org/changeset/base/186309

Log:
  MFC r186165:
  > Handle VFS_VGET() failing with an error other than EOPNOTSUPP in addition
  > to failing with that error.
  >
  > PR:           125149
  > Submitted by: Jaakko Heinonen (jh <at> saunalahti <dot> fi)
  > Reviewed by:  mohans, kan
  
  Approved by:	re (kib)

Modified:
  stable/7/sys/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)
  stable/7/sys/dev/cxgb/   (props changed)
  stable/7/sys/nfsserver/nfs_serv.c

Modified: stable/7/sys/nfsserver/nfs_serv.c
==============================================================================
--- stable/7/sys/nfsserver/nfs_serv.c	Fri Dec 19 01:37:20 2008	(r186308)
+++ stable/7/sys/nfsserver/nfs_serv.c	Fri Dec 19 03:59:20 2008	(r186309)
@@ -3600,9 +3600,12 @@ again:
 	 * Probe one of the directory entries to see if the filesystem
 	 * supports VGET.
 	 */
-	if (VFS_VGET(vp->v_mount, dp->d_fileno, LK_EXCLUSIVE, &nvp) ==
-	    EOPNOTSUPP) {
-		error = NFSERR_NOTSUPP;
+	error = VFS_VGET(vp->v_mount, dp->d_fileno, LK_EXCLUSIVE, &nvp);
+	if (error) {
+		if (error == EOPNOTSUPP)
+			error = NFSERR_NOTSUPP;
+		else
+			error = NFSERR_SERVERFAULT;
 		vrele(vp);
 		vp = NULL;
 		free((caddr_t)cookies, M_TEMP);



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