[Gluster-devel] questions on callstubs and "link-count" in index translator
Pranith Kumar Karampuri
pkarampu at redhat.com
Mon Apr 29 05:15:48 UTC 2019
On Fri, Apr 26, 2019 at 10:55 PM Junsong Li <junsongli at fb.com> 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?
> Gluster-devel mailing list
> Gluster-devel at gluster.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gluster-devel