diff options
| author | Trond Myklebust <trond.myklebust@fys.uio.no> | 2002-12-20 05:43:41 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-12-20 05:43:41 -0800 |
| commit | ef087040b97216d20c84b8bfe400a4598dd9404c (patch) | |
| tree | 4895fb9973f5d0a5922058b05562555216dad821 /include/linux | |
| parent | c5d74703033020d35b1767493b2140689d14b27e (diff) | |
[PATCH] Support for NFSv4 READ + WRITE attribute cache consistency
Retrieve the post-operation attribute changes for NFSv4 READ and
WRITE operations. Unlike for NFSv2 and NFSv3, we do not retrieve the
full set of file attributes. The main reason for this is that
interpreting attributes is a much heavier task on NFSv4 (requiring, for
instance, translation of file owner names into uids ...). Hence
For a READ request, we retrieve only the 'change attribute' (for cache
consistency checking) and the atime.
For a WRITE request, we retrieve the 'change attribute' and the file size.
In addition, we retrieve the value of the change attribute prior to the
write operation, in order to be able to do weak cache consistency checking.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/nfs_xdr.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index fc4936d79426..2ed69a208fbe 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h @@ -35,8 +35,11 @@ struct nfs_fattr { struct timespec atime; struct timespec mtime; struct timespec ctime; +#ifdef CONFIG_NFS_V4 + __u32 bitmap[2]; /* NFSv4 returned attribute bitmap */ __u64 change_attr; /* NFSv4 change attribute */ __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ +#endif unsigned long timestamp; }; |
