summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@fys.uio.no>2002-12-20 05:43:41 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-12-20 05:43:41 -0800
commitef087040b97216d20c84b8bfe400a4598dd9404c (patch)
tree4895fb9973f5d0a5922058b05562555216dad821 /include/linux
parentc5d74703033020d35b1767493b2140689d14b27e (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.h3
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;
};