On Fri, Apr 26, 2019 at 10:55 PM Junsong Li <junsongli@xxxxxx> wrote:
Hello list,
I have a couple of questions on index translator implementation.
- Why does gluster need callstub and a different worker queue (and thread) to process those call stubs? Is it just to lower the priority of fops of internal inodes?
It is to make sure parallel [f]xattrops on same inode doesn't happen. Index xlator has to maintain indices in the internal directories based on whether or not the xattrs it tracks on the file are non-zero. When we allow parallel [f]xattrops, callbacks of the fops may not reach index xlator in the order they are wound to lower xlators. This can lead to index xlator not maintain indices correctly.
_______________________________________________
- What’s the purpose of “link-count” in xdata? It’s being used only in index_fstat and index_lookup. I see sometimes the key is assigned 0/1 after callback, and sometimes AFR uses it to store flag GF_XATTROP_INDEX_COUNT. Is the code purposely reusing the key?
Thanks,
Junsong
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-devel
--
Pranith
_______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx https://lists.gluster.org/mailman/listinfo/gluster-devel