Re: What does xdata mean? "gfid-req"?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, Poorinima and Soumya,


Thanks for your kind reply. 

As you said, for the "first" lookup(called in fuse_first_lookup), xdata will be set "gfid-req", which will miss the md-cache, and then call other translators.


However, in fuse_getattr, when nodeid==1, gfid-req is set to "gfid-req", too. That is to say, every fuse_getattr in root, a lookup with "gfid-req" is called, this call will miss the md-cache, then takes a high cost. 


Is it necessary to lookup with "gfid-req" in fuse_getattr? 


In fact, whether we lookup with a "gfid-req" decides the performance of fuse_getattr. In my case, I need to call many times fuse_getattr, so it does matter!




 
Best regards,
Zhitao Li
 
Sent from Outlook

From: Poornima Gurusiddaiah <pgurusid@xxxxxxxxxx>
Sent: Tuesday, March 21, 2017 3:07:01 PM
To: Soumya Koduri
Cc: Zhitao Li; Gluster Devel; Zhitao Li; 1318078301@xxxxxx
Subject: Re: What does xdata mean? "gfid-req"?
 


----- Original Message -----
> From: "Soumya Koduri" <skoduri@xxxxxxxxxx>
> To: "Zhitao Li" <zhitaoli1201@xxxxxxxxxxx>, "Gluster Devel" <gluster-devel@xxxxxxxxxxx>
> Cc: "Zhitao Li" <zhitaoli1201@xxxxxxx>, 1318078301@xxxxxx, "Poornima Gurusiddaiah" <pgurusid@xxxxxxxxxx>
> Sent: Monday, March 20, 2017 2:21:12 PM
> Subject: Re: What does xdata mean? "gfid-req"?
>
>
>
> 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.

Yes, gfid-req will be set only on the first lookup. If not then that definitely
needs to be looked at.

>
> 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@xxxxxxxxxxx
> > http://lists.gluster.org/mailman/listinfo/gluster-devel
> >
>
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux