Date: Sat, 1 Apr 2017 13:41:47 -0500 From: Lewis Donzis <lew@perftech.com> To: Bruce Evans <brde@optusnet.com.au> Cc: Eitan Adler <lists@eitanadler.com>, FreeBSD Standards <freebsd-standards@freebsd.org>, freebsd-bugs@freebsd.org Subject: Re: Fix cp not to give chflags error on NFS Message-ID: <E8752EE0-1DEA-4324-8EBF-90903C635BB5@perftech.com> In-Reply-To: <20170402032137.J13168@besplex.bde.org> References: <8FDBAA2C-93B8-49FA-B3CD-5B709A93A5C4@perftech.com> <CAF6rxgkG_SuuVH2HNc6Wd9v7XCQPfAxhfUZk1KQWB_pXyj-KeA@mail.gmail.com> <20170402032137.J13168@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Apr 1, 2017, at 1:16 PM, Bruce Evans <brde@optusnet.com.au> wrote:
Thanks for the detailed explanation.
As I mentioned later, the problem seems to be more lated to the NFSv4 server running Linux (FWIW, the underlying filesystem on our Linux NFS server is ZFS).
> nfs should support file flags iff the server does. Unfortunately, there
> is no protocol to set them (at least in nfs3).
We switched to NFSv4 in the hopes that it would solve this. And, in fact, it does if the server is running FreeBSD.
But on Linux, not only does the ACL (which we never set) appear to cp not to be “trivial”, but it fails to set. I’ve added some details below, if it’s of any interest.
We were already in the process of switching our NFS servers from Linux to FreeBSD anyway, so this will just accelerate the process.
Thanks,
lew
Using a Linux NFSv4 server:
root@fbdev:/shared/lew # mount
******:/shared on /shared (nfs, nfsv4acls)
root@fbdev:/shared/lew # cp -p xx yy
nfsv4 err=10032
cp: failed to set acl entries for yy: Operation not permitted
root@fbdev:/shared/lew # ls -l xx yy
-rwxrwxr-x+ 1 root wheel 4821 Apr 25 2009 xx
-rwxrwxr-x+ 1 root wheel 4821 Apr 25 2009 yy
root@fbdev:/shared/lew # getfacl -v xx
# file: xx
# owner: root
# group: wheel
owner@:read_data/write_data/execute/append_data/read_attributes/write_attributes/read_acl/write_acl/synchronize::allow
group@:read_data/write_data/execute/append_data/read_attributes/read_acl/synchronize::allow
everyone@:read_data/execute/read_attributes/read_acl/synchronize::allow
Using a FreeBSD NFSv4 server:
root@fbdev:/mnt/lew # mount
******:/shared on /mnt (nfs, nfsv4acls)
root@fbdev:/mnt/lew # cp -p xx yy
root@fbdev:/mnt/lew # ls -l xx yy
-rwxrwxr-x 1 root wheel 4821 Apr 25 2009 xx
-rwxrwxr-x 1 root wheel 4821 Apr 25 2009 yy
root@fbdev:/mnt/lew # getfacl -v xx
# file: xx
# owner: root
# group: wheel
owner@:read_data/write_data/execute/append_data/read_attributes/write_attributes/read_xattr/write_xattr/read_acl/write_acl/write_owner/synchronize::allow
group@:read_data/write_data/execute/append_data/read_attributes/read_xattr/read_acl/synchronize::allow
everyone@:read_data/execute/read_attributes/read_xattr/read_acl/synchronize::allow
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E8752EE0-1DEA-4324-8EBF-90903C635BB5>
