summaryrefslogtreecommitdiffstats
path: root/fs/nfs/pnfs.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@poochiereds.net>2016-05-17 18:28:41 +0200
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2016-05-17 21:48:10 +0200
commit3982a6a2d0e64441c938f4e7f93985aff37d8fb3 (patch)
tree6aae542c9fc32ef470004d42107f18b7bc808f6c /fs/nfs/pnfs.h
parentpnfs: record sequence in pnfs_layout_segment when it's created (diff)
downloadlinux-3982a6a2d0e64441c938f4e7f93985aff37d8fb3.tar.xz
linux-3982a6a2d0e64441c938f4e7f93985aff37d8fb3.zip
pnfs: keep track of the return sequence number in pnfs_layout_hdr
When we want to selectively do a LAYOUTRETURN, we need to specify a stateid that represents most recent layout acquisition that is to be returned. When we mark a layout stateid to be returned, we update the return sequence number in the layout header with that value, if it's newer than the existing one. Then, when we go to do a LAYOUTRETURN on layout header put, we overwrite the seqid in the stateid with the saved one, and then zero it out. Signed-off-by: Jeff Layton <jeff.layton@primarydata.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/pnfs.h')
-rw-r--r--fs/nfs/pnfs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index 361fa5494aa5..3476c9850678 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -195,6 +195,7 @@ struct pnfs_layout_hdr {
unsigned long plh_flags;
nfs4_stateid plh_stateid;
u32 plh_barrier; /* ignore lower seqids */
+ u32 plh_return_seq;
enum pnfs_iomode plh_return_iomode;
loff_t plh_lwb; /* last write byte for layoutcommit */
struct rpc_cred *plh_lc_cred; /* layoutcommit cred */