[pnfs] new client and server session patches for 4.1-sessions branch for review
Benny Halevy
bhalevy at panasas.com
Tue Apr 10 10:29:48 EDT 2007
Andy,
This looks much better now...
I have a few comments still :-/
1) The sessionid embeds current_sessionid which is always initialized to 1.
This may cause collisions after a server reboot, doesn't it?
Maybe we better embed a 32-bit server boot time and a 32-bit current_sessionid
counter instead.
2) include/linux/nfsd/state.h:
trailing spaces after enum { NFS4_SLOT_AVAILABLE, NFS4_SLOT_INPROGRESS };
3) nfs41_{get,put}_session should be defined in header file so that
they can be inlined (get_session is currently used only in nfs4state.c
which is ok, but put_session is extern...)
4) call to nfs41_put_session from nfsd4_proc_compound should be done
under state_lock since it deletes the session structure from its containing
lists. I think that the best to avoid that is to separate the unlinking
of the structure (done only from the expire_client path) from freeing it
(can be done from whoever calls nfs41_put_session).
See the attached patches that address my comments on top of your patches...
Benny
William A. (Andy) Adamson wrote:
> i've done the following:
>
> 1) set the op_exchange_id implementation id array to zero length, so we have
> no time to encode, and therefore no 64/32 bit seconds issue.
> 2) fixed a bug in Rahul's latest patch which removed double calls to
> sequence_done.
> 3) applied the changes from Benny to the server patches
> 4) ran connectathon tests.
> 5) ran the basic test over nfsv3 and compared times to nfsv4.1 with the
> crc32 hash and without the crc32 hash (just used the sessionid generation as
> an index)
> and found no difference in time between all three runs. so, for now let's
> stick with the crc32 hash.
>
> the first 10 patches are server, the last 5 are client.
>
> after review, i would like to update the 4.1-sessions branch, and merge it
> with the master.
>
> -->Andy
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0016-embed-server-boot_time-in-sessionid.patch
Type: application/x-patch
Size: 1268 bytes
Desc: not available
Url : http://linux-nfs.org/pipermail/pnfs/attachments/20070410/46b9c033/attachment.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0017-remove-trailing-spaces-after-NFS4_SLOT-enum-definiti.patch
Type: application/x-patch
Size: 634 bytes
Desc: not available
Url : http://linux-nfs.org/pipermail/pnfs/attachments/20070410/46b9c033/attachment-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0018-define-nfs41_-get-put-_session-in-include-linux-nfsd.patch
Type: application/x-patch
Size: 2242 bytes
Desc: not available
Url : http://linux-nfs.org/pipermail/pnfs/attachments/20070410/46b9c033/attachment-0002.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0019-separate-unlinking-of-the-session-structure-from-fre.patch
Type: application/x-patch
Size: 2356 bytes
Desc: not available
Url : http://linux-nfs.org/pipermail/pnfs/attachments/20070410/46b9c033/attachment-0003.bin
More information about the pNFS
mailing list