aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/nfs/nfsport.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/fs/nfs/nfsport.h')
-rw-r--r--sys/fs/nfs/nfsport.h14
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
/*