NFSD add COPY_NOTIFY operation
Introducing the COPY_NOTIFY operation. Create a new unique stateid that will keep track of the copy state and the upcoming READs that will use that stateid. Each associated parent stateid has a list of copy notify stateids. A copy notify structure makes a copy of the parent stateid and a clientid and will use it to look up the parent stateid during the READ request (suggested by Trond Myklebust <trond.myklebust@hammerspace.com>). At nfs4_put_stid() time, we walk the list of the associated copy notify stateids and delete them. Laundromat thread will traverse globally stored copy notify stateid in idr and notice if any haven't been referenced in the lease period, if so, it'll remove them. Return single netaddr to advertise to the copy. Suggested-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Olga Kornievskaia <kolga@netapp.com> Signed-off-by: Andy Adamson <andros@netapp.com>
This commit is contained in:

committed by
J. Bruce Fields

parent
51911868fc
commit
624322f1ad
@@ -542,7 +542,7 @@ struct nfsd4_copy {
|
||||
struct nfsd_file *nf_src;
|
||||
struct nfsd_file *nf_dst;
|
||||
|
||||
stateid_t cp_stateid;
|
||||
copy_stateid_t cp_stateid;
|
||||
|
||||
struct list_head copies;
|
||||
struct task_struct *copy_task;
|
||||
|
Reference in New Issue
Block a user