summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2015-08-01 22:56:42 +0000
committerrmacklem <rmacklem@FreeBSD.org>2015-08-01 22:56:42 +0000
commitfee1840f08874424a5d44e20c6791dfb8ef40648 (patch)
tree17ba9374931509c5a9aaf338a624100f60482dd8 /sys/fs
parent28a0dfd5bd53e0a4678e50097781161a984a9e32 (diff)
downloadFreeBSD-src-fee1840f08874424a5d44e20c6791dfb8ef40648.zip
FreeBSD-src-fee1840f08874424a5d44e20c6791dfb8ef40648.tar.gz
MFC: r286046
This patch fixes a problem where, if the NFSv4 server has a previous unconfirmed clientid structure for the same client on the last hash list, this old entry would not be removed/deleted. I do not think this bug would have caused serious problems, since the new entry would have been before the old one on the list. This old entry would have eventually been scavenged/removed.
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/nfsserver/nfs_nfsdstate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c
index 208e3e1..7f58cd9 100644
--- a/sys/fs/nfsserver/nfs_nfsdstate.c
+++ b/sys/fs/nfsserver/nfs_nfsdstate.c
@@ -225,7 +225,8 @@ nfsrv_setclient(struct nfsrv_descript *nd, struct nfsclient **new_clpp,
break;
}
}
- i++;
+ if (gotit == 0)
+ i++;
}
if (!gotit ||
(clp->lc_flags & (LCL_NEEDSCONFIRM | LCL_ADMINREVOKED))) {
OpenPOWER on IntegriCloud