pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding
authorBenjamin Coddington <bcodding@redhat.com>
Thu, 28 Jul 2016 18:41:10 +0000 (14:41 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 28 Jul 2016 18:49:08 +0000 (14:49 -0400)
commit944171cbf499d3445c749f7c13c46de0a564a905
treefb4d338b9f580419e59da2bc59ad2f9733ed02d3
parent698c937b0d17dd55227622b919482fc720cc1095
pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding

A LAYOUTCOMMIT then subsequent GETATTR may both return the same attributes,
and in that case NFS_INO_INVALID_ATTR is never set on the second pass
through nfs_update_inode().  The existing check to skip the clearing of
NFS_INO_INVALID_ATTR if a LAYOUTCOMMIT is outstanding does not help in this
case (see commit 10b7e9ad4488: "pNFS: Don't mark the inode as revalidated
if a LAYOUTCOMMIT is outstanding").  We know that if a LAYOUTCOMMIT is
outstanding then attributes will need upating, so always set
NFS_INO_INVALID_ATTR.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/inode.c