summaryrefslogtreecommitdiff
path: root/include/linux/nfs_fs.h
diff options
context:
space:
mode:
authorOlga Kornievskaia <kolga@netapp.com>2018-08-13 22:33:01 +0300
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2018-08-14 00:04:23 +0300
commite4648aa4f98a87cf0a83f73a5864cede073053a0 (patch)
treec6e48236e743a8be03bf7062d33e98d8e550aecb /include/linux/nfs_fs.h
parent6b8d84e2f1299a5876ed812b137c49686cc85c7c (diff)
downloadlinux-e4648aa4f98a87cf0a83f73a5864cede073053a0.tar.xz
NFS recover from destination server reboot for copies
Mark the destination state to indicate a server-side copy is happening. On detecting a reboot and recovering open state check if any state is engaged in a server-side copy, if so, find the copy and mark it and then signal the waiting thread. Upon wakeup, if copy was marked then propage EAGAIN to the nfsd_copy_file_range and restart the copy from scratch. Signed-off-by: Olga Kornievskaia <kolga@netapp.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'include/linux/nfs_fs.h')
-rw-r--r--include/linux/nfs_fs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index 645ad8e342f6..a0831e9d19c9 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -192,6 +192,8 @@ struct nfs4_copy_state {
uint64_t count;
struct nfs_writeverf verf;
int error;
+ int flags;
+ struct nfs4_state *parent_state;
};
/*