[pnfs] [PATCH 0/20] linux-pnfs-2.6-latest pNFS client read I/O - Draft 13
William A. (Andy) Adamson
andros at citi.umich.edu
Wed Nov 28 16:38:45 EST 2007
[Note: there are only 19 patches in this patch set. git send-email counts
all the applied patches. The last patch is for my old compiler which
complains about forward static inline declarations.]
This patch set responds to suggestions by Benny concerning the READ I/O
path, refactors the sessions code for Data Servers, and turns off
NFSv4.1renewal. I've added a bunch more comments to each patch. I can
not test
these patches against the 2.6.24-rc3 server until tomorrow when Marc will
provide GPFS rpms for the new kernel. I did test the 2.6.24-rc3 client
against a 'bakeathon patched' 2.6.18.3 kernel.
There are a lot of issues with the code that can be addressed, as Benny
suggested, after we port forward.
I will test against the 2.6.24-rc2 kernel once the GPFS cluster is updated.
With these patches, the 2.6.24-rc3 pNFS filelayout client uses normal
NFSv4.1 for write I/O and pNFS for read I/O. GETDEVICELIST, GETDEVICEINFO,
LAYOUTGET, LAYOUTRETURN are implemented. Data server sessions and session
recovery is implemented. Renwal of state is turned off because it's
implementation is incomplete - so session recovery is tested!
The 2.6.18.3 client implemented three I/O paths:
1) Use NFS page cache with RPC (file layout)
2) Use NFS page cache with NO RPC (object and block layout)
3) Do not use NFS page cache, and of course, no RPC. (PVFS2, the
non-filelayout version).
This patch set implements the first two I/O paths, which in the new kernel
goes through nfs_readpages to pnfs_readpages.
The third I/O path jumps out of the NFS I/O path in pnfs_file_read, and is
therefore implemented, but not tested.
Fred has "smoke tested" path #2 with our block layout driver against the
pynfs pNFS block server. He can mount/umount, read, close. Benny will have
to really test this path with the object layout backend.
I added these CITI October bakeathon patches to three 2.6.18.3 servers on
the CITI GPFS.
- fix xdr encoding of CREATE_SESSION result
- server_draft13_update
The MDS lease time is 20 seconds, very short to test the session recovery
code. 2 Data Servers were available.
The 2.6.24-rc3 client passed:
Connectathon
- basic test
- general test - sometimes. when it fails, the MDS dies on close.
- special test upto truncate where the MDS died on close.
- the lock tests were not tried.
Not the best news - but I suspect that I am missing some 2.6.18.3 server
patches.
Cat of a large file (16688923 Nov 28 10:36 messages) large enough to use 3-4
stripes for session recover to be required prior to layoutreturn when client
printk's are fully turned on)
So, it is not perfect, but it does perform the read I/O path. Please look it
over.
Thanks
-->Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux-nfs.org/pipermail/pnfs/attachments/20071128/1e327ae9/attachment.htm
More information about the pNFS
mailing list