diff options
Diffstat (limited to 'sys/fs/nfs/nfsport.h')
-rw-r--r-- | sys/fs/nfs/nfsport.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 0b16ba9b85a8..c30b46261df0 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -439,10 +439,13 @@ /* Do an NFSv4 Verify+Write. */ #define NFSPROC_APPENDWRITE 69 +/* Do a NFSv4 Openattr. */ +#define NFSPROC_OPENATTR 70 + /* * Must be defined as one higher than the last NFSv4.2 Proc# above. */ -#define NFSV42_NPROCS 70 +#define NFSV42_NPROCS 71 /* Value of NFSV42_NPROCS for old nfsstats structure. (Always 69) */ #define NFSV42_OLDNPROCS 69 @@ -474,7 +477,7 @@ struct nfsstatsv1 { uint64_t readlink_bios; uint64_t biocache_readdirs; uint64_t readdir_bios; - uint64_t rpccnt[NFSV42_NPROCS + 10]; + uint64_t rpccnt[NFSV42_NPROCS + 9]; uint64_t rpcretries; uint64_t srvrpccnt[NFSV42_NOPS + NFSV4OP_FAKENOPS + 15]; uint64_t srvlayouts; @@ -690,6 +693,7 @@ struct nfsvattr { #define na_bytes na_vattr.va_bytes #define na_filerev na_vattr.va_filerev #define na_vaflags na_vattr.va_vaflags +#define na_bsdflags na_vattr.va_bsdflags #include <fs/nfsclient/nfsnode.h> @@ -1180,9 +1184,11 @@ struct nfsreq { */ #ifdef VV_DISABLEDELEG #define NFSVNO_DELEGOK(v) \ - ((v) == NULL || ((v)->v_vflag & VV_DISABLEDELEG) == 0) + ((v) == NULL || ((v)->v_vflag & VV_DISABLEDELEG) == 0 || \ + (vn_irflag_read(v) & VIRF_NAMEDATTR) == 0) #else -#define NFSVNO_DELEGOK(v) (1) +#define NFSVNO_DELEGOK(v) \ + ((v) == NULL || (vn_irflag_read(v) & VIRF_NAMEDATTR) == 0) #endif /* |