I've been looking at the recent patches to redirect GF_FOP_IPC to an active 
subvolume instead of always to the first.  Specifically, these:

   http://review.gluster.org/11346 for DHT
   http://review.gluster.org/11347 for EC
   http://review.gluster.org/11348 for AFR

I can't help but wonder if there's a simpler and more generic way to do this, 
instead of having to do this in a translator-specific way each time - then 
again for NSR, or for a separate tiering translator, and so on.  For example 
what if each translator had a first_active_child callback?

   xlator_t * (*first_active_child) (xlator_t *parent);

Then default_ipc could invoke this, if it exists, where it currently invokes 
FIRST_CHILD.  Each translator could implement a bare minimum to select a child, 
then "step out of the way" for a fop it really wasn't all that interested in to 
begin with.  Any thoughts?
_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel

Reply via email to