Commit 030eb04c authored by Trond Myklebust's avatar Trond Myklebust

Merge commit 'c1326210' from nfsd/linux-next

Pull in the commit that is common to both the NFS client and server xattr
implementation from git://git.linux-nfs.org/projects/cel/cel-2.6.git nfsd-5.9
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parents 11ba4688 c1326210
...@@ -150,6 +150,12 @@ enum nfs_opnum4 { ...@@ -150,6 +150,12 @@ enum nfs_opnum4 {
OP_WRITE_SAME = 70, OP_WRITE_SAME = 70,
OP_CLONE = 71, OP_CLONE = 71,
/* xattr support (RFC8726) */
OP_GETXATTR = 72,
OP_SETXATTR = 73,
OP_LISTXATTRS = 74,
OP_REMOVEXATTR = 75,
OP_ILLEGAL = 10044, OP_ILLEGAL = 10044,
}; };
...@@ -280,6 +286,10 @@ enum nfsstat4 { ...@@ -280,6 +286,10 @@ enum nfsstat4 {
NFS4ERR_WRONG_LFS = 10092, NFS4ERR_WRONG_LFS = 10092,
NFS4ERR_BADLABEL = 10093, NFS4ERR_BADLABEL = 10093,
NFS4ERR_OFFLOAD_NO_REQS = 10094, NFS4ERR_OFFLOAD_NO_REQS = 10094,
/* xattr (RFC8276) */
NFS4ERR_NOXATTR = 10095,
NFS4ERR_XATTR2BIG = 10096,
}; };
static inline bool seqid_mutating_err(u32 err) static inline bool seqid_mutating_err(u32 err)
...@@ -452,6 +462,7 @@ enum change_attr_type4 { ...@@ -452,6 +462,7 @@ enum change_attr_type4 {
#define FATTR4_WORD2_CHANGE_ATTR_TYPE (1UL << 15) #define FATTR4_WORD2_CHANGE_ATTR_TYPE (1UL << 15)
#define FATTR4_WORD2_SECURITY_LABEL (1UL << 16) #define FATTR4_WORD2_SECURITY_LABEL (1UL << 16)
#define FATTR4_WORD2_MODE_UMASK (1UL << 17) #define FATTR4_WORD2_MODE_UMASK (1UL << 17)
#define FATTR4_WORD2_XATTR_SUPPORT (1UL << 18)
/* MDS threshold bitmap bits */ /* MDS threshold bitmap bits */
#define THRESHOLD_RD (1UL << 0) #define THRESHOLD_RD (1UL << 0)
...@@ -700,4 +711,13 @@ struct nl4_server { ...@@ -700,4 +711,13 @@ struct nl4_server {
struct nfs42_netaddr nl4_addr; /* NL4_NETADDR */ struct nfs42_netaddr nl4_addr; /* NL4_NETADDR */
} u; } u;
}; };
/*
* Options for setxattr. These match the flags for setxattr(2).
*/
enum nfs4_setxattr_options {
SETXATTR4_EITHER = 0,
SETXATTR4_CREATE = 1,
SETXATTR4_REPLACE = 2,
};
#endif #endif
...@@ -33,6 +33,9 @@ ...@@ -33,6 +33,9 @@
#define NFS4_ACCESS_EXTEND 0x0008 #define NFS4_ACCESS_EXTEND 0x0008
#define NFS4_ACCESS_DELETE 0x0010 #define NFS4_ACCESS_DELETE 0x0010
#define NFS4_ACCESS_EXECUTE 0x0020 #define NFS4_ACCESS_EXECUTE 0x0020
#define NFS4_ACCESS_XAREAD 0x0040
#define NFS4_ACCESS_XAWRITE 0x0080
#define NFS4_ACCESS_XALIST 0x0100
#define NFS4_FH_PERSISTENT 0x0000 #define NFS4_FH_PERSISTENT 0x0000
#define NFS4_FH_NOEXPIRE_WITH_OPEN 0x0001 #define NFS4_FH_NOEXPIRE_WITH_OPEN 0x0001
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment