NFSD: Implement the COPY call
I only implemented the sync version of this call, since it's the easiest. I can simply call vfs_copy_range() and have the vfs do the right thing for the filesystem being exported. Signed-off-by: Anna Schumaker <bjschuma@netapp.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:

committed by
J. Bruce Fields

parent
42e616167a
commit
29ae7f9dc2
@@ -503,6 +503,28 @@ struct nfsd4_clone {
|
||||
u64 cl_count;
|
||||
};
|
||||
|
||||
struct nfsd42_write_res {
|
||||
u64 wr_bytes_written;
|
||||
u32 wr_stable_how;
|
||||
nfs4_verifier wr_verifier;
|
||||
};
|
||||
|
||||
struct nfsd4_copy {
|
||||
/* request */
|
||||
stateid_t cp_src_stateid;
|
||||
stateid_t cp_dst_stateid;
|
||||
u64 cp_src_pos;
|
||||
u64 cp_dst_pos;
|
||||
u64 cp_count;
|
||||
|
||||
/* both */
|
||||
bool cp_consecutive;
|
||||
bool cp_synchronous;
|
||||
|
||||
/* response */
|
||||
struct nfsd42_write_res cp_res;
|
||||
};
|
||||
|
||||
struct nfsd4_seek {
|
||||
/* request */
|
||||
stateid_t seek_stateid;
|
||||
@@ -568,6 +590,7 @@ struct nfsd4_op {
|
||||
struct nfsd4_fallocate allocate;
|
||||
struct nfsd4_fallocate deallocate;
|
||||
struct nfsd4_clone clone;
|
||||
struct nfsd4_copy copy;
|
||||
struct nfsd4_seek seek;
|
||||
} u;
|
||||
struct nfs4_replay * replay;
|
||||
|
Reference in New Issue
Block a user