[Gluster-devel] Some questions about requisites of translators

Xavier Hernandez xhernandez at datalab.es
Wed May 2 10:55:37 UTC 2012


I'm wondering if there are any requisites that translators must satisfy 
to work correctly inside glusterfs.

In particular I need to know two things:

1. Are translators required to respect the order in which they receive 
the requests ?

This is specially important in translators such as 
performance/io-threads or caching ones. It seems that these translators 
can reorder requests. If this is the case, is there any way to force 
some order between requests ? can inodelk/entrylk be used to force the 
order ?

2. Are translators required to propagate callback arguments even if the 
result of the operation is an error ? and if an internal translator 
error occurs ?

When a translator has multiple subvolumes, I've seen that some 
arguments, such as xdata, are replaced with NULL. This can be 
understood, but are regular translators (those that only have one 
subvolume) allowed to do that or must they preserve the value of xdata, 
even in the case of an internal error ?

If this is not a requisite, xdata loses it's function of delivering back 
extra information.

Thank you very much,


More information about the Gluster-devel mailing list