aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nfsd/nfsd.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/nfsd/nfsd.h')
-rw-r--r--include/linux/nfsd/nfsd.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h
index 69ca788f8fc5..0ec4d142c503 100644
--- a/include/linux/nfsd/nfsd.h
+++ b/include/linux/nfsd/nfsd.h
@@ -375,7 +375,7 @@ extern struct timeval nfssvc_boot;
375 NFSD4_SUPPORTED_ATTRS_WORD1 375 NFSD4_SUPPORTED_ATTRS_WORD1
376 376
377#define NFSD4_1_SUPPORTED_ATTRS_WORD2 \ 377#define NFSD4_1_SUPPORTED_ATTRS_WORD2 \
378 NFSD4_SUPPORTED_ATTRS_WORD2 378 (NFSD4_SUPPORTED_ATTRS_WORD2 | FATTR4_WORD2_SUPPATTR_EXCLCREAT)
379 379
380static inline u32 nfsd_suppattrs0(u32 minorversion) 380static inline u32 nfsd_suppattrs0(u32 minorversion)
381{ 381{
@@ -407,6 +407,18 @@ static inline u32 nfsd_suppattrs2(u32 minorversion)
407 | FATTR4_WORD1_TIME_ACCESS_SET | FATTR4_WORD1_TIME_MODIFY_SET) 407 | FATTR4_WORD1_TIME_ACCESS_SET | FATTR4_WORD1_TIME_MODIFY_SET)
408#define NFSD_WRITEABLE_ATTRS_WORD2 0 408#define NFSD_WRITEABLE_ATTRS_WORD2 0
409 409
410#define NFSD_SUPPATTR_EXCLCREAT_WORD0 \
411 NFSD_WRITEABLE_ATTRS_WORD0
412/*
413 * we currently store the exclusive create verifier in the v_{a,m}time
414 * attributes so the client can't set these at create time using EXCLUSIVE4_1
415 */
416#define NFSD_SUPPATTR_EXCLCREAT_WORD1 \
417 (NFSD_WRITEABLE_ATTRS_WORD1 & \
418 ~(FATTR4_WORD1_TIME_ACCESS_SET | FATTR4_WORD1_TIME_MODIFY_SET))
419#define NFSD_SUPPATTR_EXCLCREAT_WORD2 \
420 NFSD_WRITEABLE_ATTRS_WORD2
421
410#endif /* CONFIG_NFSD_V4 */ 422#endif /* CONFIG_NFSD_V4 */
411 423
412#endif /* LINUX_NFSD_NFSD_H */ 424#endif /* LINUX_NFSD_NFSD_H */