[Gluster-devel] Md-cache xattr cahing and virtual xattrs

Poornima Gurusiddaiah pgurusid at redhat.com
Fri Mar 4 07:16:42 UTC 2016


Hi, 

As a part of md-cache improvements to cache xattrs as well: http://review.gluster.org/#/c/13408/ 
we now need to differentiate between virtual and non-virtual xattr. 

Unfortunately, we have no standard naming convention for virtual and on-disk xattr, and we cannot even change 
now, as backward compatibility will be broken. This makes negative xattr caching tricky on client side. 

The proposed way of xattr caching in md-cache is, to cache all on disk xattrs(can be optionally excluded), and in case the 
xattr is not found in the cache, its considered as ENODATA. This means, if an xattr is not identified as virtual xattr, it may 
get ENODATA and fail the functionality. 

To identify a virtual xattr, one solution suggested by Raghavendra G, was to add a dict option saying its a virtual xattr. 
To do this, we need to first categorize the existing virtual and non-virtual xattrs. I have created an etherpad which contains 
a list of xattrs copied from glusterfs.h. I request each component owner/others to add the xattrs used by their component 
@ https://public.pad.fsfe.org/p/gluster-xattr-categorization 

After the categorization is done, will send out a patch that adds a dict option for every internal xattr. 

Any other suggestions are welcome. 

Regards, 
Poornima 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20160304/d6d043cc/attachment.html>


More information about the Gluster-devel mailing list