[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?
>
> Thanks,
>
> Junsong
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-devel



-- 
Pranith
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20190429/7dcb14db/attachment.html>


More information about the Gluster-devel mailing list