On Thu, 28 Jun 2012 04:57:49 -0400 (EDT), Krishnan Parthasarathi <kparthas@xxxxxxxxxx> wrote: > Mohan, > > >glusterd_brick_op_build_payload function is responsible for setting > >brick_req->op to GLUSTERD_BRICK_XLATOR_OP. But I could not follow the > >code flow from there. How does notify() in afr xlator invoked? Who > >decides that only notify function in afr xlator needs to be invoked > >instead of other xlators notify function? > > >I looked for notify related documentation, but did not get anything > >related to that. > Mechanisms such as the above you mention, for IPC have not been documented. > > glusterd3_1_brick_op is the function that performs an RPC to the glusterfsd (brick proceses). > The RPC program (part of the brick processes) has the xlator graph in memory and as part of the > brick op it has the name of the translator(s) in question whose notify that > needs to be called. The code which does all the above is present in glusterfsd/src/glusterfsd-mgmt.c. > Look for glusterfs_handle_rpc_msg for rest of the code flow. > Hi Krish, Thanks for the quick reply. I am looking at glusterfs_handle_rpc_msg & glusterfs_handle_translator_op functions. Ideally creating a new block device opetaion will not fit into brick ops, I may need to modify gluster cli and handler to accomodate this change. If I have any doubt, I will get back to you. Thanks.