summaryrefslogtreecommitdiff
path: root/pfinet/linux-src/include/linux/nfs_fs_i.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2000-02-04 03:21:18 +0000
committerRoland McGrath <roland@gnu.org>2000-02-04 03:21:18 +0000
commit9fd51e9b0ad33a89a83fdbbb66bd20d85f7893fb (patch)
tree8845b79f170028cb4380045c50277bbf075b5b7d /pfinet/linux-src/include/linux/nfs_fs_i.h
Import of Linux 2.2.12 subset (ipv4 stack and related)
Diffstat (limited to 'pfinet/linux-src/include/linux/nfs_fs_i.h')
-rw-r--r--pfinet/linux-src/include/linux/nfs_fs_i.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/pfinet/linux-src/include/linux/nfs_fs_i.h b/pfinet/linux-src/include/linux/nfs_fs_i.h
new file mode 100644
index 00000000..885f21f0
--- /dev/null
+++ b/pfinet/linux-src/include/linux/nfs_fs_i.h
@@ -0,0 +1,71 @@
+#ifndef _NFS_FS_I
+#define _NFS_FS_I
+
+#include <linux/nfs.h>
+#include <linux/pipe_fs_i.h>
+
+/*
+ * nfs fs inode data in memory
+ */
+struct nfs_inode_info {
+ /*
+ * This is a place holder so named pipes on NFS filesystems
+ * work (more or less correctly). This must be first in the
+ * struct because the data is really accessed via inode->u.pipe_i.
+ */
+ struct pipe_inode_info pipeinfo;
+
+ /*
+ * Various flags
+ */
+ unsigned short flags;
+
+ /*
+ * read_cache_jiffies is when we started read-caching this inode,
+ * and read_cache_mtime is the mtime of the inode at that time.
+ * attrtimeo is for how long the cached information is assumed
+ * to be valid. A successful attribute revalidation doubles
+ * attrtimeo (up to acregmax/acdirmax), a failure resets it to
+ * acregmin/acdirmin.
+ *
+ * We need to revalidate the cached attrs for this inode if
+ *
+ * jiffies - read_cache_jiffies > attrtimeo
+ *
+ * and invalidate any cached data/flush out any dirty pages if
+ * we find that
+ *
+ * mtime != read_cache_mtime
+ */
+ unsigned long read_cache_jiffies;
+ unsigned long read_cache_mtime;
+ unsigned long attrtimeo;
+
+ /*
+ * This is the list of dirty unwritten pages.
+ * NFSv3 will want to add a list for written but uncommitted
+ * pages.
+ */
+ struct nfs_wreq * writeback;
+};
+
+/*
+ * Legal inode flag values
+ */
+#define NFS_INO_REVALIDATE 0x0001 /* revalidating attrs */
+#define NFS_IS_SNAPSHOT 0x0010 /* a snapshot file */
+
+/*
+ * NFS lock info
+ */
+struct nfs_lock_info {
+ u32 state;
+ u32 flags;
+};
+
+/*
+ * Lock flag values
+ */
+#define NFS_LCK_GRANTED 0x0001 /* lock has been granted */
+
+#endif