Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Feb 2011 12:22:52 +0100
From:      =?UTF-8?B?VG9tw6HFoSBEcmJvaGxhdg==?= <drb@karlov.mff.cuni.cz>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: NFSv4 ACLs on NFS4 mount ?
Message-ID:  <4D551C0C.1050600@karlov.mff.cuni.cz>
In-Reply-To: <1174528658.1552842.1297120107416.JavaMail.root@erie.cs.uoguelph.ca>
References:  <1174528658.1552842.1297120107416.JavaMail.root@erie.cs.uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------000904090805010105020403
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 8.2.2011 0:08, Rick Macklem wrote:
>> Hello,
>>
>> I have 8.1-RELEASE running ZFS and NFS4 experimantal server and I
>> wonder, what is the status of NFS4 ACLs? I see them work on ZFS
>> fileystems directly mounted but when mounted via NFS4 (even on the
>> same
>> machine), getfacl returns 'old' POSIX form instead of NFSv4 ACLs. By
>> digging mailng list archive I got to know that this 'should' work but
>> for me it doesn't.
>>
> Thanks to George spotting it recently, they should work if you apply
> the ACL related patches found at:
>    http://people.freebsd.org/~rmacklem
 >
> For 8.1/ZFS, you'll see that there is one for the client side (adds
> VOP_PATHCONF() support to the client), plus one for the server that
> is in head, stable/8 but not 8.1. (It replaces a VOP_ACCESS() with a
> VOP_ACCESSX().)
>
> Also, although I think that 8.1 has everything else you need except the
> two patches, I'll admit that I haven't tested anything that is pre-8.2
> with these patches. (ie. You might also need an 8.2 upgrade, but hopefully
> not.)

Lovely, works as expected. Thanks!

Only minor note, server-nfsv4acl.patch expect slightly different code 
before (and after):

...
NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY, p);
...

in 8.1-p1 vs.

...
if (vn_lock(vp, LK_SHARED) == 0) {
...

I attach patch against 8.1-p1 I finally used.

   T:D

> Good luck with them, rick

--------------000904090805010105020403
Content-Type: text/x-patch;
 name="server-nfsv4acl-8.1rel-p1.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="server-nfsv4acl-8.1rel-p1.patch"

--- nfs_commonsubs.c	2011-02-08 10:03:10.000000000 +0100
+++ nfs_commonsubs.c.orig	2010-06-14 04:09:06.000000000 +0200
@@ -1987,7 +1987,7 @@
 #ifdef NFS4_ACL_EXTATTR_NAME
 		} else if (naclp != NULL) {
 			NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY, p);
-			error = VOP_ACCESSX(vp, VREAD_ACL, cred, p);
+			error = VOP_ACCESS(vp, VREAD_ACL, cred, p);
 			if (error == 0)
 				error = VOP_GETACL(vp, ACL_TYPE_NFS4, naclp,
 				    cred, p);

--------------000904090805010105020403--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D551C0C.1050600>