From: Trond Myklebust Date: Fri, 23 Jul 2021 12:57:21 +0000 (-0400) Subject: NFSv4/pnfs: The layout barrier indicate a minimal value for the seqid X-Git-Tag: accepted/tizen/unified/20230118.172025~6466^2~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d6236a98b3bab07c0a1455fd1ab46f79c3978cdc;p=platform%2Fkernel%2Flinux-rpi.git NFSv4/pnfs: The layout barrier indicate a minimal value for the seqid The intention of the layout barrier is to ensure that we do not update the layout to match an older value than the current expectation. Fix the test in pnfs_layout_stateid_blocked() to reflect that it is legal for the seqid of the stateid to match that of the barrier. Fixes: aa95edf309ef ("NFSv4/pnfs: Fix the layout barrier update") Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 7775f6b5..7c9090a 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -1000,7 +1000,7 @@ pnfs_layout_stateid_blocked(const struct pnfs_layout_hdr *lo, { u32 seqid = be32_to_cpu(stateid->seqid); - return !pnfs_seqid_is_newer(seqid, lo->plh_barrier) && lo->plh_barrier; + return lo->plh_barrier && pnfs_seqid_is_newer(lo->plh_barrier, seqid); } /* lget is set to 1 if called from inside send_layoutget call chain */