mbox series

[RFC,0/4] NFSv4.2 OFFLOAD_STATUS for the Linux NFS client

Message ID 20240429151632.212571-6-cel@kernel.org (mailing list archive)
Headers show
Series NFSv4.2 OFFLOAD_STATUS for the Linux NFS client | expand

Message

Chuck Lever April 29, 2024, 3:16 p.m. UTC
From: Chuck Lever <chuck.lever@oracle.com>

Async COPY operations will wait indefinitely if the CB_OFFLOAD is
lost. Fix this by using OFFLOAD_STATUS to periodically check the
progress of the COPY.

This is compile-tested only. Looking for review and testing.

IMO the only controversial part is how OFFLOAD_STATUS will handle
situations where the server is temporarily unreachable. Right now
I've set RPC_TASK_SOFTCONN so the RPC is dropped immediately, and
the COPY operation should simply go back to waiting another few
seconds.

Chuck Lever (4):
  NFS: Implement NFSv4.2's OFFLOAD_STATUS XDR
  NFS: Refactor trace_nfs4_offload_cancel
  NFS: Rename struct nfs4_offloadcancel_data
  NFS: Implement NFSv4.2's OFFLOAD_STATUS operation

 fs/nfs/nfs42proc.c        | 114 +++++++++++++++++++++++++++++++++-----
 fs/nfs/nfs42xdr.c         | 101 ++++++++++++++++++++++++++++++++-
 fs/nfs/nfs4trace.h        |  11 +++-
 fs/nfs/nfs4xdr.c          |   1 +
 include/linux/nfs4.h      |   1 +
 include/linux/nfs_fs_sb.h |   1 +
 include/linux/nfs_xdr.h   |   1 +
 7 files changed, 215 insertions(+), 15 deletions(-)


base-commit: e67572cd2204894179d89bd7b984072f19313b03