diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-26 10:33:33 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-26 10:33:33 -0700 | 
| commit | ea8ea737c46cffa5d0ee74309f81e55a7e5e9c2a (patch) | |
| tree | ae159b2c5968fa3c2a5a4ab7176584bc9a17b889 /fs/nfs/callback_proc.c | |
| parent | 0b9210c9c86e46a7a62bbc7b69b84001315072ff (diff) | |
| parent | c7d73af2d249f0323f5cdb171a59497ce80011fb (diff) | |
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
  ...
Diffstat (limited to 'fs/nfs/callback_proc.c')
| -rw-r--r-- | fs/nfs/callback_proc.c | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index 618ced381a14..aaa2e8d3df6f 100644 --- a/fs/nfs/callback_proc.c +++ b/fs/nfs/callback_proc.c @@ -217,7 +217,8 @@ static u32 initiate_file_draining(struct nfs_client *clp,  	}  	if (pnfs_mark_matching_lsegs_return(lo, &free_me_list, -					&args->cbl_range)) { +				&args->cbl_range, +				be32_to_cpu(args->cbl_stateid.seqid))) {  		rv = NFS4_OK;  		goto unlock;  	} @@ -500,8 +501,10 @@ __be32 nfs4_callback_sequence(struct cb_sequenceargs *args,  	cps->slot = slot;  	/* The ca_maxresponsesize_cached is 0 with no DRC */ -	if (args->csa_cachethis != 0) -		return htonl(NFS4ERR_REP_TOO_BIG_TO_CACHE); +	if (args->csa_cachethis != 0) { +		status = htonl(NFS4ERR_REP_TOO_BIG_TO_CACHE); +		goto out_unlock; +	}  	/*  	 * Check for pending referring calls.  If a match is found, a | 
