diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-01-03 08:55:37 (GMT) |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-01-06 19:58:51 (GMT) |
commit | beb2a5ec386e5ce6891ebd1c06b913da04354b40 (patch) | |
tree | 370e0065936e5739de638389af6c85ee960a6b28 /fs/nfs/delegation.c | |
parent | 969b7f2522c90dfed5d0d2553a91522bda2c3bf3 (diff) | |
download | linux-fsl-qoriq-beb2a5ec386e5ce6891ebd1c06b913da04354b40.tar.xz |
NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec
According to RFC3530 we're supposed to cache the change attribute
at the time the client receives a write delegation.
If the inode is clean, a CB_GETATTR callback by the server to the
client is supposed to return the cached change attribute.
If, OTOH, the inode is dirty, the client should bump the cached
change attribute by 1.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/delegation.c')
-rw-r--r-- | fs/nfs/delegation.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index 75dfb1c..d2ee09b 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c @@ -131,6 +131,7 @@ int nfs_inode_set_delegation(struct inode *inode, struct rpc_cred *cred, struct sizeof(delegation->stateid.data)); delegation->type = res->delegation_type; delegation->maxsize = res->maxsize; + delegation->change_attr = nfsi->change_attr; delegation->cred = get_rpccred(cred); delegation->inode = inode; |