Commit f2b7019d authored by Jeff Layton's avatar Jeff Layton Committed by Chuck Lever

nfsd: set missing after_change as before_change + 1

In the event that we can't fetch post_op_attr attributes, we still need
to set a value for the after_change. The operation has already happened,
so we're not able to return an error at that point, but we do want to
ensure that the client knows that its cache should be invalidated.

If we weren't able to fetch post-op attrs, then just set the
after_change to before_change + 1. The atomic flag should already be
clear in this case.
Suggested-by: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 97662607
...@@ -411,7 +411,7 @@ set_change_info(struct nfsd4_change_info *cinfo, struct svc_fh *fhp) ...@@ -411,7 +411,7 @@ set_change_info(struct nfsd4_change_info *cinfo, struct svc_fh *fhp)
if (WARN_ON_ONCE(!fhp->fh_pre_saved)) if (WARN_ON_ONCE(!fhp->fh_pre_saved))
cinfo->before_change = 0; cinfo->before_change = 0;
if (!fhp->fh_post_saved) if (!fhp->fh_post_saved)
cinfo->after_change = 0; cinfo->after_change = cinfo->before_change + 1;
} }
static __be32 static __be32
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment