Skip site navigation (1)Skip section navigation (2)
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>