phdeniel/nfs-ganesha — Issue #17: Regression on 'next' : OP4_READ uses bad stateid producing a call to unimplemented OP4_FREE_STATEID
Author: phdeniel
Created: 2011-11-03 09:52:26+00:00
State: open

I use 'mount -o vers=4,minorversion=1 ' to mount ganesha ('next' branch). Client is linux 3.1-rc, server is 'next' branch (commit=7e554ec3c7704d12fd528e9a7f6d561bb32b42e5) compiled with FSAL_VFS.

I set NFSTESTDIR environment variable to a non-existing dir (the dirtree routine in cthon04 will create it)
I then run connectathon basic/test5: the test never ends. Each call to OP4_READ produces "NFS4ERR_BAD_STATEID", which result in a call to TEST_STATEID.... And then we are really in trouble : OP4_TEST_STATEID is currently not implemented in NFS-Ganesha (it behaves as OP4_ILLEGAL), returning NFS4ERR_ILLEGAL to the client (and trust me, the client dislike this kind of error a lot, I crash the kernel if I umount it after such an error).
The problem is double:
- OP4_TEST_STATEID is not implemented... it should be. I'll have a look at this.
- the client uses an invalid stateid, producing this call to OP4_TEST_STATEID, which is clearly a regression. Such a behavior is not produced with 'master'