Merge tag 'nfs-for-5.10-1' of git://git.linux-nfs.org/projects/anna/linux-nfs
Pull NFS client updates from Anna Schumaker: "Stable Fixes: - Wait for stateid updates after CLOSE/OPEN_DOWNGRADE # v5.4+ - Fix nfs_path in case of a rename retry - Support EXCHID4_FLAG_SUPP_FENCE_OPS v4.2 EXCHANGE_ID flag New features and improvements: - Replace dprintk() calls with tracepoints - Make cache consistency bitmap dynamic - Added support for the NFS v4.2 READ_PLUS operation - Improvements to net namespace uniquifier Other bugfixes and cleanups: - Remove redundant clnt pointer - Don't update timeout values on connection resets - Remove redundant tracepoints - Various cleanups to comments - Fix oops when trying to use copy_file_range with v4.0 source server - Improvements to flexfiles mirrors - Add missing 'local_lock=posix' mount option" * tag 'nfs-for-5.10-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (55 commits) NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag NFSv4: Fix up RCU annotations for struct nfs_netns_client NFS: Only reference user namespace from nfs4idmap struct instead of cred nfs: add missing "posix" local_lock constant table definition NFSv4: Use the net namespace uniquifier if it is set NFSv4: Clean up initialisation of uniquified client id strings NFS: Decode a full READ_PLUS reply SUNRPC: Add an xdr_align_data() function NFS: Add READ_PLUS hole segment decoding SUNRPC: Add the ability to expand holes in data pages SUNRPC: Split out _shift_data_right_tail() SUNRPC: Split out xdr_realign_pages() from xdr_align_pages() NFS: Add READ_PLUS data segment support NFS: Use xdr_page_pos() in NFSv4 decode_getacl() SUNRPC: Implement a xdr_page_pos() function SUNRPC: Split out a function for setting current page NFS: fix nfs_path in case of a rename retry fs: nfs: return per memcg count for xattr shrinkers NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE nfs: remove incorrect fallthrough label ...
This commit is contained in:
@@ -551,13 +551,13 @@ enum {
|
||||
|
||||
NFSPROC4_CLNT_LOOKUPP,
|
||||
NFSPROC4_CLNT_LAYOUTERROR,
|
||||
|
||||
NFSPROC4_CLNT_COPY_NOTIFY,
|
||||
|
||||
NFSPROC4_CLNT_GETXATTR,
|
||||
NFSPROC4_CLNT_SETXATTR,
|
||||
NFSPROC4_CLNT_LISTXATTRS,
|
||||
NFSPROC4_CLNT_REMOVEXATTR,
|
||||
NFSPROC4_CLNT_READ_PLUS,
|
||||
};
|
||||
|
||||
/* nfs41 types */
|
||||
|
||||
@@ -287,5 +287,6 @@ struct nfs_server {
|
||||
#define NFS_CAP_LAYOUTERROR (1U << 26)
|
||||
#define NFS_CAP_COPY_NOTIFY (1U << 27)
|
||||
#define NFS_CAP_XATTR (1U << 28)
|
||||
#define NFS_CAP_READ_PLUS (1U << 29)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -525,7 +525,7 @@ struct nfs_closeargs {
|
||||
struct nfs_seqid * seqid;
|
||||
fmode_t fmode;
|
||||
u32 share_access;
|
||||
const u32 * bitmask;
|
||||
u32 * bitmask;
|
||||
struct nfs4_layoutreturn_args *lr_args;
|
||||
};
|
||||
|
||||
@@ -608,7 +608,7 @@ struct nfs4_delegreturnargs {
|
||||
struct nfs4_sequence_args seq_args;
|
||||
const struct nfs_fh *fhandle;
|
||||
const nfs4_stateid *stateid;
|
||||
const u32 * bitmask;
|
||||
u32 * bitmask;
|
||||
struct nfs4_layoutreturn_args *lr_args;
|
||||
};
|
||||
|
||||
@@ -648,7 +648,7 @@ struct nfs_pgio_args {
|
||||
union {
|
||||
unsigned int replen; /* used by read */
|
||||
struct {
|
||||
const u32 * bitmask; /* used by write */
|
||||
u32 * bitmask; /* used by write */
|
||||
enum nfs3_stable_how stable; /* used by write */
|
||||
};
|
||||
};
|
||||
@@ -657,7 +657,7 @@ struct nfs_pgio_args {
|
||||
struct nfs_pgio_res {
|
||||
struct nfs4_sequence_res seq_res;
|
||||
struct nfs_fattr * fattr;
|
||||
__u32 count;
|
||||
__u64 count;
|
||||
__u32 op_status;
|
||||
union {
|
||||
struct {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
NetApp provides this source code under the GPL v2 License.
|
||||
The GPL v2 license is available at
|
||||
http://opensource.org/licenses/gpl-license.php.
|
||||
https://opensource.org/licenses/gpl-license.php.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
*/
|
||||
struct cache_head {
|
||||
struct hlist_node cache_list;
|
||||
time64_t expiry_time; /* After time time, don't use the data */
|
||||
time64_t expiry_time; /* After time expiry_time, don't use
|
||||
* the data */
|
||||
time64_t last_refresh; /* If CACHE_PENDING, this is when upcall was
|
||||
* sent, else this is when update was
|
||||
* received, though it is alway set to
|
||||
|
||||
@@ -143,7 +143,7 @@ typedef __be32 rpc_fraghdr;
|
||||
/*
|
||||
* Well-known netids. See:
|
||||
*
|
||||
* http://www.iana.org/assignments/rpc-netids/rpc-netids.xhtml
|
||||
* https://www.iana.org/assignments/rpc-netids/rpc-netids.xhtml
|
||||
*/
|
||||
#define RPCBIND_NETID_UDP "udp"
|
||||
#define RPCBIND_NETID_TCP "tcp"
|
||||
|
||||
@@ -240,6 +240,7 @@ extern int xdr_restrict_buflen(struct xdr_stream *xdr, int newbuflen);
|
||||
extern void xdr_write_pages(struct xdr_stream *xdr, struct page **pages,
|
||||
unsigned int base, unsigned int len);
|
||||
extern unsigned int xdr_stream_pos(const struct xdr_stream *xdr);
|
||||
extern unsigned int xdr_page_pos(const struct xdr_stream *xdr);
|
||||
extern void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf,
|
||||
__be32 *p, struct rpc_rqst *rqst);
|
||||
extern void xdr_init_decode_pages(struct xdr_stream *xdr, struct xdr_buf *buf,
|
||||
@@ -249,6 +250,8 @@ extern __be32 *xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes);
|
||||
extern unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len);
|
||||
extern void xdr_enter_page(struct xdr_stream *xdr, unsigned int len);
|
||||
extern int xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, int (*actor)(struct scatterlist *, void *), void *data);
|
||||
extern uint64_t xdr_align_data(struct xdr_stream *, uint64_t, uint32_t);
|
||||
extern uint64_t xdr_expand_hole(struct xdr_stream *, uint64_t, uint64_t);
|
||||
|
||||
/**
|
||||
* xdr_stream_remaining - Return the number of bytes remaining in the stream
|
||||
|
||||
Reference in New Issue
Block a user