diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2015-08-01 22:56:42 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2015-08-01 22:56:42 +0000 |
commit | fee1840f08874424a5d44e20c6791dfb8ef40648 (patch) | |
tree | 17ba9374931509c5a9aaf338a624100f60482dd8 /sys/fs | |
parent | 28a0dfd5bd53e0a4678e50097781161a984a9e32 (diff) | |
download | FreeBSD-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.c | 3 |
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))) { |