mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
cp: Don't warn for chflags() failing with EOPNOTSUPP if flags == 0
From NetBSD's utils.c 1.5 importing importing BSDI change, with light
formatting changes:
Author: cgd <cgd@NetBSD.org>
Date: Wed Feb 26 14:40:51 1997 +0000
Patch from BSDI (via Keith Bostic):
>NFS doesn't support chflags; ignore errors unless there's reason
>to believe we're losing bits. (Note, this still won't be right
>if the server supports flags and we were trying to *remove* flags
>on a file that we copied, i.e., that we didn't create.)
CVS Info: utils.c 1.6
Obtained from: NetBSD
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D42674
This commit is contained in:
parent
5a52e3d00d
commit
3e7e3b5bdf
1 changed files with 11 additions and 2 deletions
|
|
@ -354,8 +354,17 @@ setfile(struct stat *fs, int fd)
|
|||
fchflags(fd, fs->st_flags) :
|
||||
(islink ? lchflags(to.p_path, fs->st_flags) :
|
||||
chflags(to.p_path, fs->st_flags))) {
|
||||
warn("chflags: %s", to.p_path);
|
||||
rval = 1;
|
||||
/*
|
||||
* NFS doesn't support chflags; ignore errors unless
|
||||
* there's reason to believe we're losing bits. (Note,
|
||||
* this still won't be right if the server supports
|
||||
* flags and we were trying to *remove* flags on a file
|
||||
* that we copied, i.e., that we didn't create.)
|
||||
*/
|
||||
if (errno != EOPNOTSUPP || fs->st_flags != 0) {
|
||||
warn("chflags: %s", to.p_path);
|
||||
rval = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return (rval);
|
||||
|
|
|
|||
Loading…
Reference in a new issue