[pnfs] linux-pnfs-2.6-latest and struct nfs_server
William A. (Andy) Adamson
andros at citi.umich.edu
Wed Oct 17 17:01:36 EDT 2007
the port of sessions to linux-pnfs-2.6-latest makes it difficult to setup a
session and perform rpc calls to file layout data servers without a lot of
baggage. we have already agreed that data servers really don't need many
fields in the struct nfs_client, which holds all the bookkeeping for
EXCHANGE_ID.
there is a more severe problem with requiring the struct nfs_server, which
represents a mount point for an export. data servers are not mounted, and
due to the no GETATTR to data server rule, will never need a struct
nfs_server. the only field the data server needs from struct nfs_server is
the struct nfs4_session pointer. by using struct nfs_server as a parameter
all through the nfs/nfs/nfs4proc.c calls - (it is required on every rpc
call) makes it a re-write of the new sessions code to not use the struct
nfs_server and to allow clean data server session management.
what is struct nfs_server used for? to carry the struct nfs4_session, struct
rpc_clnt, and struct nfs_client (actually, the subset of fields in the
nfs_client that we will extract into it's own structure ...). the separation
of fields needed for data server sessions from the nfs_client and the
removal (or other solution...) of struct nfs_server from all the
nfs4_proc_XXX interfaces that the data server needs is what i'll do next.
i have patches that
- switch on minorversion the fsinfo GETATTR to include pNFS attributes or
not
- update the file layout device cache, similar to what was tested on
2.6.18.3 at the bakeathon with the addition of a data server list shared
amoung file layout devices (draft-13 deviceID == stripes)
- update the GETDEVICELIST call
- peform EXCHANGE_ID to the data server, which occurs on GETDEVICELIST
decode (this will change, but it is good for testing, and uses struct
nfs_client which will also change).
they pass the smoke test of mount and umount.
any ideas/help with sorting all of this out would be appreciated!
-->Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux-nfs.org/pipermail/pnfs/attachments/20071017/e8555f57/attachment.htm
More information about the pNFS
mailing list