[Gluster-devel] Erasure code - A few questions

Krishnan Parthasarathi kparthas at redhat.com
Mon Jun 9 12:15:34 UTC 2014


Hi Xavi,

Following the code walk through and discussion surrounding
erasure coding translator's implementation on #gluster-meeting,
I wanted to ask a few questions that would make things clearer
and help speed up the review. I am CC'ing gluster-devel in a hope
that some of these questions might have popped in others' head
as well.

While learning a translator I try to identify the different internal stages
that a FOP goes through while 'inside' a xlator (ie, before a STACK_WIND or
STACK_UNWIND transfer the control to the child/parent xlator).

Additionally, it helps to understand the points in processing of a FOP,
the sequence of functions lead it to flow to the child(ren) xlators
and the sequence of functions that lead it into the xlator (via callbacks).

With that context, it would help if you listed the sequence of functions,
including the state machine functions which 'guide' the FOP through various
sub-operations, in the following cases.

- When a inode modification call (say writev) enters cluster/ec.
- When a readv call enters cluster/ec

This could be done by attaching gdb to the mount process, but what I am
looking for is your notes/insights that would help us appreciate
the design/intent better. It would also help us to notice this pattern
in other FOPs implemented in cluster/ec.

cheers,
Krish



More information about the Gluster-devel mailing list