mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
Merge tag 'nfs-for-4.7-1' of git://git.linux-nfs.org/projects/anna/linux-nfs
Pull NFS client updates from Anna Schumaker:
"Highlights include:
Features:
- Add support for the NFS v4.2 COPY operation
- Add support for NFS/RDMA over IPv6
Bugfixes and cleanups:
- Avoid race that crashes nfs_init_commit()
- Fix oops in callback path
- Fix LOCK/OPEN race when unlinking an open file
- Choose correct stateids when using delegations in setattr, read and
write
- Don't send empty SETATTR after OPEN_CREATE
- xprtrdma: Prevent server from writing a reply into memory client
has released
- xprtrdma: Support using Read list and Reply chunk in one RPC call"
* tag 'nfs-for-4.7-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (61 commits)
pnfs: pnfs_update_layout needs to consider if strict iomode checking is on
nfs/flexfiles: Use the layout segment for reading unless it a IOMODE_RW and reading is disabled
nfs/flexfiles: Helper function to detect FF_FLAGS_NO_READ_IO
nfs: avoid race that crashes nfs_init_commit
NFS: checking for NULL instead of IS_ERR() in nfs_commit_file()
pnfs: make pnfs_layout_process more robust
pnfs: rework LAYOUTGET retry handling
pnfs: lift retry logic from send_layoutget to pnfs_update_layout
pnfs: fix bad error handling in send_layoutget
flexfiles: add kerneldoc header to nfs4_ff_layout_prepare_ds
flexfiles: remove pointless setting of NFS_LAYOUT_RETURN_REQUESTED
pnfs: only tear down lsegs that precede seqid in LAYOUTRETURN args
pnfs: keep track of the return sequence number in pnfs_layout_hdr
pnfs: record sequence in pnfs_layout_segment when it's created
pnfs: don't merge new ff lsegs with ones that have LAYOUTRETURN bit set
pNFS/flexfiles: When initing reads or writes, we might have to retry connecting to DSes
pNFS/flexfiles: When checking for available DSes, conditionally check for MDS io
pNFS/flexfile: Fix erroneous fall back to read/write through the MDS
NFS: Reclaim writes via writepage are opportunistic
NFSv4: Use the right stateid for delegations in setattr, read and write
...
This commit is contained in:
@@ -233,7 +233,6 @@ struct nfs4_layoutget_args {
|
||||
struct inode *inode;
|
||||
struct nfs_open_context *ctx;
|
||||
nfs4_stateid stateid;
|
||||
unsigned long timestamp;
|
||||
struct nfs4_layoutdriver_data layout;
|
||||
};
|
||||
|
||||
@@ -251,7 +250,6 @@ struct nfs4_layoutget {
|
||||
struct nfs4_layoutget_res res;
|
||||
struct rpc_cred *cred;
|
||||
gfp_t gfp_flags;
|
||||
long timeout;
|
||||
};
|
||||
|
||||
struct nfs4_getdeviceinfo_args {
|
||||
@@ -1343,6 +1341,32 @@ struct nfs42_falloc_res {
|
||||
const struct nfs_server *falloc_server;
|
||||
};
|
||||
|
||||
struct nfs42_copy_args {
|
||||
struct nfs4_sequence_args seq_args;
|
||||
|
||||
struct nfs_fh *src_fh;
|
||||
nfs4_stateid src_stateid;
|
||||
u64 src_pos;
|
||||
|
||||
struct nfs_fh *dst_fh;
|
||||
nfs4_stateid dst_stateid;
|
||||
u64 dst_pos;
|
||||
|
||||
u64 count;
|
||||
};
|
||||
|
||||
struct nfs42_write_res {
|
||||
u64 count;
|
||||
struct nfs_writeverf verifier;
|
||||
};
|
||||
|
||||
struct nfs42_copy_res {
|
||||
struct nfs4_sequence_res seq_res;
|
||||
struct nfs42_write_res write_res;
|
||||
bool consecutive;
|
||||
bool synchronous;
|
||||
};
|
||||
|
||||
struct nfs42_seek_args {
|
||||
struct nfs4_sequence_args seq_args;
|
||||
|
||||
@@ -1431,7 +1455,7 @@ struct nfs_commit_completion_ops {
|
||||
};
|
||||
|
||||
struct nfs_commit_info {
|
||||
spinlock_t *lock; /* inode->i_lock */
|
||||
struct inode *inode; /* Needed for inode->i_lock */
|
||||
struct nfs_mds_commit_info *mds;
|
||||
struct pnfs_ds_commit_info *ds;
|
||||
struct nfs_direct_req *dreq; /* O_DIRECT request */
|
||||
|
||||
Reference in New Issue
Block a user