NFS: add COPY_NOTIFY operation

Try using the delegation stateid, then the open stateid.

Only NL4_NETATTR, No support for NL4_NAME and NL4_URL.
Allow only one source server address to be returned for now.

To distinguish between same server copy offload ("intra") and
a copy between different server ("inter"), do a check of server
owner identity and also make sure server is capable of doing
a copy offload.

Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
This commit is contained in:
Olga Kornievskaia 2019-06-04 16:14:30 -04:00 committed by Olga Kornievskaia
parent f9bdad8ca8
commit 0491567b51
11 changed files with 323 additions and 2 deletions

View file

@ -1463,6 +1463,22 @@ struct nfs42_offload_status_res {
int osr_status;
};
struct nfs42_copy_notify_args {
struct nfs4_sequence_args cna_seq_args;
struct nfs_fh *cna_src_fh;
nfs4_stateid cna_src_stateid;
struct nl4_server cna_dst;
};
struct nfs42_copy_notify_res {
struct nfs4_sequence_res cnr_seq_res;
struct nfstime4 cnr_lease_time;
nfs4_stateid cnr_stateid;
struct nl4_server cnr_src;
};
struct nfs42_seek_args {
struct nfs4_sequence_args seq_args;