Hi Phil,
        Thanks a lot for replying. So here is the deal. I am working on an 
enhanced PVFS with an entirely new set of state machines added to create a new 
struct called ecreate. Its working fine (all state machines and everything). 
Unfortunately, the guy who made these changes is not around. I need to pass 
some extra parameters through sm_p(client) to s_op (server). So I enhanced the 
client side to include the new attribute, malloced it, initialized it and sent 
it (state machine post, BMI, blah blah).
        Now, on the server side, I want to assign it to 
s_op->req->u.ecreate.NEW ARG. I followed the path that does the assignment. It 
ends up in a really complicated macro. Also, I am using PVFS-2.6.3 which does 
not have pvfs2-proto.h. It starts with pvfs2-req-proto.c. And then I lose track 
of whats going on in an array of complicated macros. Any help would be greatly 
appreciated!

        Now that I know there are people to help, let me chip in an additional 
quick question :). In some situations in my code, I do not want some clients to 
access some file (some ACL stuff). For now, I detect untrusted clients in 
final_response.c and set an js_p->error_code and return 1. This causes the 
client to just hang. Is there a way to prematurely return a clean error to the 
client? (This problem is low priority though)

        Thanks a ton man!

Thanks and regards,
Ankur

----- Original Message -----
From: "Phil Carns" <[EMAIL PROTECTED]>
To: "Ankur G Pai" <[EMAIL PROTECTED]>, [email protected]
Sent: Thursday, October 9, 2008 11:47:35 AM GMT -05:00 US/Canada Eastern
Subject: Re: [Pvfs2-developers] Re: [Pvfs-developers] Pvfs client-server        
communication doubt

Hi Ankur,

Just to clarify, have you added a new request type called "ecreate" or 
is that a typo and you have just added a field to the existing "create" 
struct?

This makes a difference in the extent of the changes that you will need 
to make.  If you are modifying an existing struct then the bulk of the 
work is to just adjust the encoding macro in pvfs2-proto.h to capture 
the new field properly.  It should then get propagated to the server and 
show up in its s_op->req->u.create struct in the state machine.

If you are adding a completely new request struct, that typically 
implies creating new state machines on both the client and server side 
that correspond to it (we may have a document on this that I can point 
you to, its a bit more involved).

Sorry about the slow reply, but I think we can help you sort it out if 
you are still working on this issue.

-Phil

Robert Latham wrote:
> On Thu, Oct 02, 2008 at 06:46:42PM -0400, Pai, Ankur G wrote:
>> Hey,
>>    Here is what I want to do. I want to send additional parameters
>>    from my PVFS client to the server. I modified the client side
>>    struct such that I now have an additional parameter
>>    sm_p->req.u.ecreate.ACCESS_CTRL. I now need to transport it to
>>    the server side. Could you direct me to the file that actually
>>    assigns the client side parameters to the server ones? As in
>>    where exactly does the server parameter s_op get populated?
> 
> I'm directing this to the pvfs2-developers mailing list. 
> 


-- 
Thanks & Regards,
Ankur Pai
Graduate Student - Computer Science
College of Computing
Georgia Institute of Technology

-- 
Thanks & Regards,
Ankur Pai
Graduate Student - Computer Science
College of Computing
Georgia Institute of Technology
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to