svn commit: r230100 - head/sys/fs/nfsserver

Rick Macklem rmacklem at FreeBSD.org
Sat Jan 14 04:04:59 UTC 2012


Author: rmacklem
Date: Sat Jan 14 04:04:58 2012
New Revision: 230100
URL: http://svn.freebsd.org/changeset/base/230100

Log:
  Tai Horgan reported via email that there were two places in
  the new NFSv4 server where the code follows the wrong list.
  Fortunately, for these fairly rare cases, the lc_stateid[]
  lists are normally empty. This patch fixes the code to
  follow the correct list.
  
  Reported by:	tai.horgan at isilon.com
  Discussed with:	zack
  MFC after:	2 weeks

Modified:
  head/sys/fs/nfsserver/nfs_nfsdstate.c

Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c
==============================================================================
--- head/sys/fs/nfsserver/nfs_nfsdstate.c	Sat Jan 14 02:18:41 2012	(r230099)
+++ head/sys/fs/nfsserver/nfs_nfsdstate.c	Sat Jan 14 04:04:58 2012	(r230100)
@@ -315,7 +315,7 @@ nfsrv_setclient(struct nfsrv_descript *n
 		for (i = 0; i < NFSSTATEHASHSIZE; i++) {
 			LIST_NEWHEAD(&new_clp->lc_stateid[i],
 			    &clp->lc_stateid[i], ls_hash);
-			LIST_FOREACH(tstp, &new_clp->lc_stateid[i], ls_list)
+			LIST_FOREACH(tstp, &new_clp->lc_stateid[i], ls_hash)
 				tstp->ls_clp = new_clp;
 		}
 		LIST_INSERT_HEAD(NFSCLIENTHASH(new_clp->lc_clientid), new_clp,
@@ -369,7 +369,7 @@ nfsrv_setclient(struct nfsrv_descript *n
 	for (i = 0; i < NFSSTATEHASHSIZE; i++) {
 		LIST_NEWHEAD(&new_clp->lc_stateid[i], &clp->lc_stateid[i],
 		    ls_hash);
-		LIST_FOREACH(tstp, &new_clp->lc_stateid[i], ls_list)
+		LIST_FOREACH(tstp, &new_clp->lc_stateid[i], ls_hash)
 			tstp->ls_clp = new_clp;
 	}
 	LIST_INSERT_HEAD(NFSCLIENTHASH(new_clp->lc_clientid), new_clp,


More information about the svn-src-all mailing list