]> git.baikalelectronics.ru Git - kernel.git/commit
NFSD add COPY_NOTIFY operation
authorOlga Kornievskaia <olga.kornievskaia@gmail.com>
Fri, 4 Oct 2019 20:34:26 +0000 (16:34 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 9 Dec 2019 16:42:14 +0000 (11:42 -0500)
commite54147f931fc99d0c5fd5e64f422728dc177db02
tree467057a699aa280b6cd7dc602d5b612385ef6694
parente0e202fcc9d15cc655351152629beee144d64554
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>
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4state.c
fs/nfsd/state.h
fs/nfsd/xdr4.h