<html><body><div style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000"><div>Hi,<br></div><div><br></div><div>As a part of md-cache improvements to cache xattrs as well: <a href="http://review.gluster.org/#/c/13408/">http://review.gluster.org/#/c/13408/</a><br></div><div>we now need to differentiate between virtual and non-virtual xattr.<br></div><div><br></div><div>Unfortunately, we have no standard naming convention for virtual and on-disk xattr, and we cannot even change<br></div><div>now, as backward compatibility will be broken. This makes negative xattr caching tricky on client side.<br></div><div><br></div><div>The proposed way of xattr caching in md-cache is, to cache all on disk xattrs(can be optionally excluded), and in case the<br></div><div>xattr is not found in the cache, its considered as ENODATA. This means, if an xattr is not identified as virtual xattr, it may<br></div><div>get ENODATA and fail the functionality.</div><div><br></div><div>To identify a virtual xattr, one solution suggested by Raghavendra G, was to add a dict option saying its a virtual xattr.</div><div>To do this, we need to first categorize the existing virtual and non-virtual xattrs. I have created an etherpad which contains<br></div><div>a list of xattrs copied from glusterfs.h. I request each component owner/others to add the xattrs used by their component<br></div><div>@<a href="https://public.pad.fsfe.org/p/gluster-xattr-categorization">https://public.pad.fsfe.org/p/gluster-xattr-categorization</a><br></div><div><br></div><div>After the categorization is done, will send out a patch that adds a dict option for every internal xattr.<br></div><div><br></div><div>Any other suggestions are welcome.<br></div><div><br></div><div>Regards,<br></div><div>Poornima<br></div></div></body></html>