]> rtime.felk.cvut.cz Git - linux-imx.git/commit
nfsd4: don't pin clientids to pseudoflavors
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 21 Aug 2012 16:48:30 +0000 (12:48 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 1 Oct 2012 21:39:14 +0000 (17:39 -0400)
commit68eb35081e297b37db49d854cda144c6a3397699
treeb71fff7512d2ed12fec10bb15cc2aed2a6637f99
parent6e67b5d1840b5788875ad561f2e76a1bf5facc86
nfsd4: don't pin clientids to pseudoflavors

I added cr_flavor to the data compared in same_creds without any
justification, in d5497fc693a446ce9100fcf4117c3f795ddfd0d2 "nfsd4: move
rq_flavor into svc_cred".

Recent client changes then started making

mount -osec=krb5 server:/export /mnt/
echo "hello" >/mnt/TMP
umount /mnt/
mount -osec=krb5i server:/export /mnt/
echo "hello" >/mnt/TMP

to fail due to a clid_inuse on the second open.

Mounting sequentially like this with different flavors probably isn't
that common outside artificial tests.  Also, the real bug here may be
that the server isn't just destroying the former clientid in this case
(because it isn't good enough at recognizing when the old state is
gone).  But it prompted some discussion and a look back at the spec, and
I think the check was probably wrong.  Fix and document.

Cc: stable@kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c