Jeffrey Altman wrote: > Hartmut: > > You are welcome for the advise. I would be happy to provide much more > of it once I am able to read a protocol specification. > > Thank you. > > Jeffrey Altman > >
The (future) protocol for the traffic between CM, fileserver and CM, osd is rather simple: 1. case fetch data if Protocol in AFSFetchStatus had the bit RX_OSD (0x2) on then CM does to the fileserver: RXAFS_StartAsyncFetch(rx_connection *conn, AFSFid *Fid, afs_uint64 offset, afs_uint64 length, afsUUID uuid, afs_uint32 protocol = 2, afs_uint64 *transid, struct async *info, AFSFetchStatus *OutStatus, AFSCallBack *Callback) where info contains a union for different protocols. In case or RX_OSD it contains atruct osd_fileList list. If the return code is 0 osd_fileList contains a single struct osd_file which in turn is the description of the file which typically consists in a single segment. The segment contains one or more (up to 8) objects (depending on striping or mirroring). For each object the CM may create a RXOSD_read RPC to the osd specified in the description of the object. CM to osd: StartRXOSD_read(rx_call *call, t10rock *rock, afs_uint64 part_id, afs_uint64 obj_id, afs_uint64 offset, afs_uint64 length) rock, part_id, and obj_id are taken from the object description in osd_file. The call was opened on a connection to the ip-address taken form the description of the object. rock contains encrypted data which the osd can decrypt with the session key used on the connection from the fileserver to the osd. rock tells the osd what this CM is allowed to do with the object ... Then the CM unmarshels the afs_uint64 length field which he rx_Read from the osd and subsequently reads data into the cache with rx_Read(). At the end as usual EndRXOSD_read and rx_EndCall. Now CM notifies the fileserver about the end of the transaction: RXAFS_EndAsyncFetch(rx_connection *conn, AFSFid *fid, afs_uint64 transid); Jeffrey: Is that the kind of specification you are looking for? Or what else? Hartmut ----------------------------------------------------------------- Hartmut Reuter e-mail [email protected] phone +49-89-3299-1328 fax +49-89-3299-1301 RZG (Rechenzentrum Garching) web http://www.rzg.mpg.de/~hwr Computing Center of the Max-Planck-Gesellschaft (MPG) and the Institut fuer Plasmaphysik (IPP) ----------------------------------------------------------------- _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
