Hello,
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,
Xavi