Thread (4 messages) flat view 4 messages, 3 authors, 2015-05-29

RE: [RFC v3 42/45] nfs: Add richacl support

From: Frank Filz <hidden>
Date: 2015-05-29 15:54:48
Also in: linux-fsdevel, linux-nfs, lkml

On Fri, May 29, 2015 at 11:00 AM, Andreas Grünbacher
[off-list ref] wrote:
quoted
2015-05-29 15:15 GMT+02:00 Trond Myklebust
[off-list ref]:
quoted
quoted
[reply reordered]
So having revisited the reasons why I chose the system.nfs4_acl
interface when we did NFSv4 ACLs, I'm not sure we should implement
system.richacl for the NFS client at all.

Your assertion that "when symbolic user@domain and group@domain
names
quoted
quoted
are used in the acl, user-space needs to perform ID mapping in the
same way as the kernel"  is WRONG. User space needs do no such thing,
and that was the whole point of the interface; to allow the user to
specify ACLs in a format that is checked only on the _server_, and
not on the client.
That's only half true. Right now, user-space applications trying to
copy permissions between an nfs mount and another file system will
fail unless the application has explicitly been made nfs aware and
supports the "system.nfs4_acl"
attribute (as well as some other acl mechanism if the permissions go
beyond the file mode).

The same problem exists when trying to make sense of acls.

It seems unreasonable to me to expect applications other than special
file system maintenance tools to cater to such file system
differences; there are just too many file systems out there for that
to work. Instead, it would be better to use an interface that can be
generalized across file systems.
My point is that system.richacl is not such an interface. It can only ever work
for local filesystems that understand and store local uids and gids. It has no
support for the remote users/groups that are stored on your NFS/SMB
server unless they happen to have a local mapping into uids and gids, and so
the API is inappropriate to replace the existing NFSv4 acl API on the client.
Could we have both xattrs? Or a mount option that specifies which xattr to have?

That way folks who don't have local idmapping for every remote identity can use system.nfs4_acl while those who have local mapping for all remote identies and need to use a wide variety of tools can use system.richacl? system.richacl would obviously need to be documented that this issue can arise. But that will forever be an issue, unless we store the ACL with symbolic names, copying from a remote server to a local filesystem will always be lossy if the idmapping is incomplete.

Maybe that's too messy...

Frank


--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help