Hi All,

I am trying to analyze the OSC-OST communication by putting some
prints in the code. Basically I want to print the data that is sent by
OSC and received by OST. But I am not able to print the correct, may
be because of I am not printing the correct buffers. Please correct me
in the following approach which I have taken.

On the OST side, whenever the OST_WRITE request comes, following code
path is taken

ost_brw_write()
-- target_bulk_io()
-- -- ptlrpc_start_bulk_transfer()
-- -- -- LNetGet()

In the ptlrpc_start_bulk_transfer(), the "desc" parameter contains the
pages and that is filled into the "MD". I assume if I print those
pages at this point (before calling LNetGet()), I will not get the
data.

Once the LNetGet() is called, the GET request will be served by lower
layer and lnet_finalize() will be invoked as a call back routine to
notify that the operation is complete. In "lnet_finalize()", I am
filtering the "msg" (passed in as parameter) with type LNET_MSG_GET to
pin point the correct "msg". This struct "msg" will contain the
"lnet_libmd_t" type of MD which will have the kiov as well as "start"
buffer. If I print that buffer, still the data is garbage.

I would appreciate any help on this issue.

Thanks,
J
_______________________________________________
Lustre-discuss mailing list
[email protected]
http://lists.lustre.org/mailman/listinfo/lustre-discuss

Reply via email to