[Gluster-devel] Problems about cache virtual glusterfs ACLs for ganesha in md-cache
Soumya Koduri
skoduri at redhat.com
Thu Oct 11 11:09:02 UTC 2018
NFS-Ganesha's md-cache layer already does extensive caching of
attributes and ACLs of each file looked upon. Do you see any additional
benefit with turning on gluster md-cache as well? More replies inline..
On 10/11/18 7:47 AM, Kinglong Mee wrote:
> Cc nfs-ganesha,
>
> Md-cache has option "cache-posix-acl" that controls caching of posix ACLs
> ("system.posix_acl_access"/"system.posix_acl_default") and virtual glusterfs ACLs
> ("glusterfs.posix.acl"/"glusterfs.posix.default_acl") now.
>
> But, _posix_xattr_get_set does not fill virtual glusterfs ACLs when lookup requests.
> So, md-cache caches bad virtual glusterfs ACLs.
>
> After I turn on "cache-posix-acl" option to cache ACLs at md-cache, nfs client gets many EIO errors.
>
> https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/427305
>
> There are two chooses for cache virtual glusterfs ACLs in md-cache,
> 1. Cache it separately as posix ACLs (a new option maybe "cache-glusterfs-acl" is added);
> And make sure _posix_xattr_get_set fills them when lookup requests.
>
I am not sure if posix layer can handle it. Virtual xattrs are in-memory
and not stored on disk. They are converted to/from posix-acl in
posix-acl xlator. So FWIU, posix-acl xlator should handle setting these
attributes as part of LOOKUP response if needed. Same shall apply for
any virtual xattr cached in md-cache. Request Poornima to comment.
At a time, any gfapi consumer would use either posix-acl or virtual
glusterfs ACLs. So having two options to selectively choose which one of
them to cache sounds better to me instead of unnecessarily storing two
different representations of the same ACL.
Thanks,
Soumya
> 2. Does not cache it, only cache posix ACLs;
> If gfapi request it, md-cache lookup according posix ACL at cache,
> if exist, make the virtual glusterfs ACL locally and return to gfapi;
> otherwise, send the request to glusterfsd.
>
> Virtual glusterfs ACLs are another format of posix ACLs, there are larger than posix ACLs,
> and always exist no matter the really posix ACL exist or not.
>
> So, I'd prefer #2.
> Any comments are welcome.
>
> thanks,
> Kinglong Mee
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-devel
>
More information about the Gluster-devel
mailing list