On Thu, 28 Jun 2012 04:57:49 -0400 (EDT), Krishnan Parthasarathi <kparthas@redh...> wrote:
> >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.
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.