Message ID | 20241008134719.116825-11-cel@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | async COPY fixes | expand |
> On Oct 8, 2024, at 9:47 AM, cel@kernel.org wrote: > > From: Chuck Lever <chuck.lever@oracle.com> > > 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
From: Chuck Lever <chuck.lever@oracle.com> 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. 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(-)