summaryrefslogtreecommitdiffstats
path: root/fs/nfs/pnfs.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-07-24 15:04:07 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2016-07-24 16:16:41 -0400
commitd9b61708fe6dcab7b50abfb87cb47690d00269a1 (patch)
tree87159e379534531d8a905cd774cb15fc3e7b864b /fs/nfs/pnfs.c
parent5f46be049b0dfdd36188058f044c165e1d4b8f56 (diff)
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/nfs/pnfs.c')
-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 1374fcd40484..e16997da157f 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1785,7 +1785,7 @@ pnfs_layout_process(struct nfs4_layoutget *lgp)
1785 * inode invalid, and don't bother validating the stateid 1785 * inode invalid, and don't bother validating the stateid
1786 * sequence number. 1786 * sequence number.
1787 */ 1787 */
1788 pnfs_mark_matching_lsegs_invalid(lo, &free_me, NULL, 0); 1788 pnfs_mark_layout_stateid_invalid(lo, &free_me);
1789 1789
1790 nfs4_stateid_copy(&lo->plh_stateid, &res->stateid); 1790 nfs4_stateid_copy(&lo->plh_stateid, &res->stateid);
1791 lo->plh_barrier = be32_to_cpu(res->stateid.seqid); 1791 lo->plh_barrier = be32_to_cpu(res->stateid.seqid);