summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfsserver
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2012-01-14 04:04:58 +0000
committerrmacklem <rmacklem@FreeBSD.org>2012-01-14 04:04:58 +0000
commit77b7fa051528c2d9248408d9f3a15cca42c0b344 (patch)
tree913f01439acc7520fa69bac25d929c907ea4d3d9 /sys/fs/nfsserver
parent3645513107afb90d956b4b3843a780daa7272dd1 (diff)
downloadFreeBSD-src-77b7fa051528c2d9248408d9f3a15cca42c0b344.zip
FreeBSD-src-77b7fa051528c2d9248408d9f3a15cca42c0b344.tar.gz
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
Diffstat (limited to 'sys/fs/nfsserver')
-rw-r--r--sys/fs/nfsserver/nfs_nfsdstate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c
index bd246d5..f14ad43 100644
--- a/sys/fs/nfsserver/nfs_nfsdstate.c
+++ b/sys/fs/nfsserver/nfs_nfsdstate.c
@@ -315,7 +315,7 @@ nfsrv_setclient(struct nfsrv_descript *nd, struct nfsclient **new_clpp,
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 *nd, struct nfsclient **new_clpp,
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,
OpenPOWER on IntegriCloud