summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-07-24 19:04:07 (GMT)
committerTrond Myklebust <trond.myklebust@primarydata.com>2016-07-24 20:16:41 (GMT)
commitd9b61708fe6dcab7b50abfb87cb47690d00269a1 (patch)
tree87159e379534531d8a905cd774cb15fc3e7b864b /fs
parent5f46be049b0dfdd36188058f044c165e1d4b8f56 (diff)
downloadlinux-d9b61708fe6dcab7b50abfb87cb47690d00269a1.tar.xz
pNFS: Clear the layout metadata if the server changed the layout stateid
If the server changed the layout stateid's "other" field, then we should treat the old layout as being completely gone. In that case, we want to clear the metadata such as scheduled layoutreturns. Do this by calling pnfs_mark_layout_stateid_invalid(). Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/pnfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index 1374fcd..e16997d 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1785,7 +1785,7 @@ pnfs_layout_process(struct nfs4_layoutget *lgp)
* inode invalid, and don't bother validating the stateid
* sequence number.
*/
- pnfs_mark_matching_lsegs_invalid(lo, &free_me, NULL, 0);
+ pnfs_mark_layout_stateid_invalid(lo, &free_me);
nfs4_stateid_copy(&lo->plh_stateid, &res->stateid);
lo->plh_barrier = be32_to_cpu(res->stateid.seqid);