Re: [RFC PATCH 0/9] async COPY fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Oct 8, 2024, at 9:47 AM, cel@xxxxxxxxxx wrote:
> 
> From: Chuck Lever <chuck.lever@xxxxxxxxxx>
> 
> Hi -
> 
> There are edge cases on both the Linux NFS server and client that
> can be improved to make notification of COPY completion reliable.
> This series accomplishes two things, primarily:
> 
> 1. Add support for OFFLOAD_STATUS to the Linux NFS client
> 
> 2. Modify NFSD to keep the copy state ID around so that
>   OFFLOAD_STATUS can find the completed COPY
> 
> That should be enough to make async COPY reliable so that it can be
> enabled again in NFSD. I'd like to shoot for doing that in v6.13.
> 
> Due to other bugs and issues, this has unfortunately been somewhat
> of a background task lately, so any independent testing would be
> greatly appreciated.

A branch containing these patches, plus one to re-enable async
COPY in NFSD, is available here:

https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=fix-async-copy


> When we agree that these are ready, I can split them up so they can
> be merged independently via the client and server trees.
> 
> Chuck Lever (9):
>  NFS: CB_OFFLOAD can return NFS4ERR_DELAY
>  NFSD: Free async copy information in nfsd4_cb_offload_release()
>  NFSD: Handle an NFS4ERR_DELAY response to CB_OFFLOAD
>  NFS: Fix typo in OFFLOAD_CANCEL comment
>  NFS: Implement NFSv4.2's OFFLOAD_STATUS XDR
>  NFS: Rename struct nfs4_offloadcancel_data
>  NFS: Implement NFSv4.2's OFFLOAD_STATUS operation
>  NFS: Use NFSv4.2's OFFLOAD_STATUS operation
>  NFS: Refactor trace_nfs4_offload_cancel
> 
> fs/nfs/callback_proc.c    |   2 +-
> fs/nfs/nfs42proc.c        | 198 +++++++++++++++++++++++++++++++++++---
> fs/nfs/nfs42xdr.c         |  88 ++++++++++++++++-
> fs/nfs/nfs4proc.c         |   3 +-
> fs/nfs/nfs4trace.h        |  11 ++-
> fs/nfs/nfs4xdr.c          |   1 +
> fs/nfsd/nfs4proc.c        |  26 +++--
> fs/nfsd/xdr4.h            |   4 +
> include/linux/nfs4.h      |   1 +
> include/linux/nfs_fs_sb.h |   1 +
> include/linux/nfs_xdr.h   |   5 +-
> 11 files changed, 311 insertions(+), 29 deletions(-)
> 
> -- 
> 2.46.2
> 
> 

--
Chuck Lever






[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux