Hi,

On 06/03/2015 05:40 AM, Pranith Kumar Karampuri wrote:


On 06/02/2015 08:08 PM, fanghuang.d...@yahoo.com wrote:
Hi all,

As I reading the source codes of EC xlator, I am confused by the
cbk_list and answer_list defined in struct _ec_fop_data. Why do we
need two lists to combine the results of callback?

Especially for the answer_list, it is initialized
in ec_fop_data_allocate, then the nodes are added
in ec_cbk_data_allocate. Without being any accessed during the
lifetime of fop, the whole list finally is released in ec_fop_cleanup.
Do I miss something for the answer_list?
+Xavi.

hi,
     The only reason I found is that It is easier to cleanup cbks using
answers_list. You can check ec_fop_cleanup() function on latest master
to check how this is.

You are right. Currently answer_list is only used to cleanup all cbks received while cbk_list is used to track groups of consistent answers. Although currently doesn't happen, if error coercing or special attribute handling are implemented, it could be possible that one cbk gets referenced more than once in cbk_list, making answer_list absolutely necessary.

Combining of cbks is a bit involved until you
understand it but once you do, it is amazing. I tried to add comments
for this part of code and sent a patch, but we forgot to merge it :-)
http://review.gluster.org/9982. If you think we can add more
comments/change this part of code in a way it makes it easier, let us
know. We would love your feedback :-). Wait for Xavi's response as well.

Pranith
Regards,
Fang Huang


_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel

_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel

Reply via email to