patch-2.2.18 linux/include/linux/nfs_fs_i.h
Next file: linux/include/linux/nfs_fs_sb.h
Previous file: linux/include/linux/nfs_fs.h
Back to the patch index
Back to the overall index
- Lines: 102
- Date:
Fri Sep 15 22:10:44 2000
- Orig file:
v2.2.17/include/linux/nfs_fs_i.h
- Orig date:
Fri Apr 21 23:10:16 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/include/linux/nfs_fs_i.h linux/include/linux/nfs_fs_i.h
@@ -1,4 +1,4 @@
-#ifndef _NFS_FS_I
+#ifndef _NFS_FS_i
#define _NFS_FS_I
#include <linux/nfs.h>
@@ -16,6 +16,12 @@
struct pipe_inode_info pipeinfo;
/*
+ * The 64bit fileid
+ */
+ __u64 fsid;
+ __u64 fileid;
+
+ /*
* Various flags
*/
unsigned short flags;
@@ -38,22 +44,68 @@
* mtime != read_cache_mtime
*/
unsigned long read_cache_jiffies;
- unsigned long read_cache_mtime;
+ __u64 read_cache_ctime;
+ __u64 read_cache_mtime;
+ __u64 read_cache_atime;
+ __u64 read_cache_isize;
unsigned long attrtimeo;
+ unsigned long attrtimeo_timestamp;
+
+ /*
+ * This is the cookie verifier used for NFSv3 readdir
+ * operations
+ */
+ __u32 cookieverf[2];
/*
- * This is the list of dirty unwritten pages.
- * NFSv3 will want to add a list for written but uncommitted
- * pages.
+ * This is the list of dirty pages.
*/
- struct nfs_wreq * writeback;
+ struct list_head read;
+ struct list_head dirty;
+ struct list_head commit;
+ struct list_head writeback;
+
+ unsigned int nread,
+ ndirty,
+ ncommit,
+ npages;
+
+ /* Flush daemon info */
+ struct inode *hash_next,
+ *hash_prev;
+ unsigned long nextscan;
};
/*
* Legal inode flag values
*/
-#define NFS_INO_REVALIDATE 0x0001 /* revalidating attrs */
+#define NFS_INO_LOCKED 0x0001 /* locked for revalidation */
+#define NFS_INO_ADVISE_RDPLUS 0x0002 /* advise readdirplus */
+#define NFS_INO_REVALIDATING 0x0004 /* in nfs_revalidate() */
+#define NFS_INO_INVALIDATE 0x0008 /* zap cache on next occasion */
#define NFS_IS_SNAPSHOT 0x0010 /* a snapshot file */
+#define NFS_INO_STALE 0x0020 /* We suspect inode is stale */
+#define NFS_INO_FLUSH 0x0040 /* inode is due for flushing */
+
+/*
+ * NFS ACL info.
+ * This information will be used by nfs_permission() in the obvious fashion,
+ * but also helps the RPC engine to select whether to try the operation first
+ * with the effective or real uid/gid first.
+ *
+ * For NFSv2, this info is obtained by just trying the operation in
+ * question and updating the ACL info according to the result.
+ * For NFSv3, the access() call is used to fill in the permission bits.
+ *
+ * Not yet used.
+ */
+struct nfs_acl_info {
+ struct nfs_acl_info * acl_next;
+ unsigned long acl_read_time;
+ uid_t acl_uid;
+ gid_t acl_gid;
+ unsigned int acl_bits;
+};
/*
* NFS lock info
@@ -61,6 +113,7 @@
struct nfs_lock_info {
u32 state;
u32 flags;
+ struct nlm_host *host;
};
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)