<font color="#3333ff"><font size="2"><font face="times new roman,serif">Thanks Nicolas.I will try it out by today/tommorow .</font></font></font><div><font class="Apple-style-span" color="#3333FF" face="'times new roman', serif"><br>

</font></div><div><font class="Apple-style-span" color="#3333FF" face="'times new roman', serif">Seems like it will touch lot of places in the codebase :-)</font></div><div><font class="Apple-style-span" color="#3333FF" face="'times new roman', serif"><br>

</font></div><div><span class="Apple-style-span" style="font-family: 'times new roman', serif; color: rgb(51, 51, 255); ">Thanks again.</span></div><div><font class="Apple-style-span" color="#3333FF" face="'times new roman', serif"><br>

</font></div><div><div><font color="#3333FF"><font face="'times new roman', serif">Thanks,<br>Vilobh</font></font></div><div><font color="#3333FF"><font face="'times new roman', serif"><i>Graduate Research Associate</i></font></font></div>

<div><font color="#3333FF"><font face="'times new roman', serif"><i>Department of Computer Science</i></font></font></div><div><font color="#3333FF"><font face="'times new roman', serif"><i>The Ohio State University Columbus Ohio</i><br>

</font></font><br>
<br><br><div class="gmail_quote">On Wed, Oct 13, 2010 at 8:28 PM, Nicolas Williams <span dir="ltr"><<a href="mailto:Nicolas.Williams@oracle.com">Nicolas.Williams@oracle.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On Wed, Oct 13, 2010 at 07:51:37PM -0400, Vilobh Meshram wrote:<br>
> 1) Is it possible that without writing a new RPC in Lustre 1.8.1.1 I can<br>
> append some string such as "Hello" to the exsisting message sent by the<br>
> Client (with the buffer size set at client side by the count,size fields).I<br>
> tried modifying the "size" of the request for one of the RPC in-built in<br>
> Lustre<br>
<br>
</div>Yes, it's possible to add buffers to requests.  It's not possible to add<br>
buffers to _replies_ to existing RPCs unless you know the client expects<br>
those additional buffers -- existing clients expect a given maxsize for<br>
each reply, and if your reply is bigger then it will get dropped.<br>
<div class="im"><br>
>          __u32 size[2] = { [MSG_PTLRPC_BODY_OFF] = sizeof(struct<br>
> ptlrpc_body),<br>
>                                     [DLM_LOCKREQ_OFF]     = sizeof(struct<br>
> ldlm_request) };<br>
><br>
> ---->><br>
>      __u32 size[3] = { [MSG_PTLRPC_BODY_OFF] = sizeof(struct ptlrpc_body),<br>
>                                   [DLM_LOCKREQ_OFF]     = sizeof(struct<br>
> ldlm_request) ,<br>
>                                   //how to add "char *str=Hello" ofcourse we<br>
> will have sizeof(str) but how to choose the MACRO like DLM_LOCKREQ_OFF bcz<br>
> for a specific kind of RPC there are limited number of such MACROS<br>
>                                             };<br>
<br>
</div>Add a buffer.  Don't change the size of an existing buffer.<br>
<div class="im"><br>
> The thing I want to know is how can I send a buffer from the client side by<br>
> modifying the static structure "size" mentioned above.What all main places<br>
> do I need to consider to make this work.<br>
<br>
</div>Add an element to the size[] array, then set it to the correct size when<br>
you know the length of the string.  Look at the SET_INFO RPCs.<br>
<div class="im"><br>
> If the above step i.e appending a buffer in the "size" array is not possible<br>
> then I can move to write a new RPC.<br>
<br>
</div>The size[] array is just a convenient place to store the sizes of the<br>
individual buffers while you construct them.<br>
<br>
Nico<br>
<font color="#888888">--<br>
</font></blockquote></div><br></div></div>