[pnfs] create session on data server

William A. (Andy) Adamson andros at citi.umich.edu
Tue Jan 30 12:30:46 EST 2007


The non-sessions server code uses the file handle to determine if an
incoming request is a pNFS request, and therefore this server is acting as a
data server. Now, in the sessions version the data-server needs to respond
to a CREATE_SESSION with no preceeding EXCHANGE_ID, and no filehandle.

Can we use the existing get_state() interface? When the data server gets a
clientid it doesn't know about, it calls get_state() with just the
pnfs_get_state.clid field stuffed. How does the cluster fs know which node
is the MDS? Is there some info in the clientid?  If the cluster fs can
determine the MDS, then the MDS can check that the clientid is confirmed,
and return the pnfs_get_state.clid with the clientid, and the
pnfs_get_state.devid with the MDS devid.

This is similar to how the data server gets stateids.


/* pNFS Metadata to Data server state communication*/
struct pnfs_get_state {
        u32                     devid;    /* request */
        stateid_t               stid;     /* request;response */
        clientid_t              clid;     /* response */
        u32                     access;    /* response */
        u32                     stid_gen;    /* response */
        u32                     verifier[2]; /* response */
};

-->Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux-nfs.org/pipermail/pnfs/attachments/20070130/5b05fe34/attachment.htm 


More information about the pNFS mailing list