[Gluster-devel] What does xdata mean? "gfid-req"?

Soumya Koduri skoduri at redhat.com
Mon Mar 20 08:51:12 UTC 2017



On 03/18/2017 06:51 PM, Zhitao Li wrote:
> Hello, everyone,
>
>
> I am investigating  the difference between stat and lookup operations in
> GlusterFs now. In the translator named "md_cache", stat operation will
> hit the cache generally, while lookup operation will miss the cache.
>
>
> The reason is that for lookup operation, md_cache will check whether the
> xdata is satisfied. In my case, lookup will include xdata "gfid-req"
> filled by fuse-bridge. However, in md_cache, this check never pass
> because the load flag of mdc_key "gfid-req"  is always 0.

Client(in this case fuse-bridge) generates gfid and sets it as xdata 
'gfid-req' key during the first lookup so as to let server heal the 
file/dir with the missing gfid (if any) with the newly generated one.

I guess md-cache ignores the LOOKUP fop with this xdata key set as it 
implies that its the first lookup done by the client. Even if it doesn't 
filter it out, the file/dir entry will not be present in the
cache then. Subsequent LOOKUPs should be served from md-cache. Poornima 
(cc'ed) shall be able to clarify the actual reason.

Thanks,
Soumya

>
>
> Could anyone tell me why "gfid-req" is filled by
> fuse-bridge.c(fuse_getattr: nodeid==1->lookup)? What does it mean? And
> how xdata is used?


>
> If no xdata, what would happen?
>
> Thank you!
>
>
> Best regards,
> Zhitao Li
>
> Sent from Outlook <http://aka.ms/weboutlook>
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://lists.gluster.org/mailman/listinfo/gluster-devel
>


More information about the Gluster-devel mailing list