pNFS: Always update the layout barrier seqid on LAYOUTGET
authorTrond Myklebust <trond.myklebust@primarydata.com>
Sun, 24 Jul 2016 15:46:06 +0000 (11:46 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Sun, 24 Jul 2016 20:16:38 +0000 (16:16 -0400)
commitecebb80bf3ee8c5f3172f00bb17ba55f9e3ae24f
tree32d5c42f2e3358342549f3991241a4ca253b2363
parent13bede18de41e2cfe8f67c1cd8b6d10be42ef473
pNFS: Always update the layout barrier seqid on LAYOUTGET

Currently, pnfs_set_layout_stateid() will update the layout sequence
id barrier only if the stateid itself is newer than the current
layout stateid. However in a situation where multiple LAYOUTGET calls
and a LAYOUTRETURN raced, it is entirely possible for one of the
LAYOUTGET to set the current stateid to something newer than the
LAYOUTRETURN that needs to set the barrier.

The fix is to allow the "update_barrier" flag to force a check as to
whether or not the barrier needs to be updated.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/pnfs.c