Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9b61708 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

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: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent 5f46be04
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);