summaryrefslogtreecommitdiffstats
path: root/linux-2.4.x/include/linux/jffs2_fs_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'linux-2.4.x/include/linux/jffs2_fs_i.h')
-rw-r--r--linux-2.4.x/include/linux/jffs2_fs_i.h46
1 files changed, 17 insertions, 29 deletions
diff --git a/linux-2.4.x/include/linux/jffs2_fs_i.h b/linux-2.4.x/include/linux/jffs2_fs_i.h
index 6121a88..ef85ab5 100644
--- a/linux-2.4.x/include/linux/jffs2_fs_i.h
+++ b/linux-2.4.x/include/linux/jffs2_fs_i.h
@@ -1,22 +1,13 @@
-/* $Id: jffs2_fs_i.h,v 1.8 2001/04/18 13:05:28 dwmw2 Exp $ */
+/* $Id: jffs2_fs_i.h,v 1.19 2005/11/07 11:14:52 gleixner Exp $ */
#ifndef _JFFS2_FS_I
#define _JFFS2_FS_I
-/* Include the pipe_inode_info at the beginning so that we can still
- use the storage space in the inode when we have a pipe inode.
- This sucks.
-*/
-
-#undef THISSUCKS /* Only for 2.2 */
-#ifdef THISSUCKS
-#include <linux/pipe_fs_i.h>
-#endif
+#include <linux/version.h>
+#include <linux/rbtree.h>
+#include <asm/semaphore.h>
struct jffs2_inode_info {
-#ifdef THISSUCKS
- struct pipe_inode_info pipecrap;
-#endif
/* We need an internal semaphore similar to inode->i_sem.
Unfortunately, we can't used the existing one, because
either the GC would deadlock, or we'd have to release it
@@ -26,37 +17,34 @@ struct jffs2_inode_info {
struct semaphore sem;
/* The highest (datanode) version number used for this ino */
- __u32 highest_version;
+ uint32_t highest_version;
/* List of data fragments which make up the file */
- struct jffs2_node_frag *fraglist;
+ struct rb_root fragtree;
/* There may be one datanode which isn't referenced by any of the
above fragments, if it contains a metadata update but no actual
data - or if this is a directory inode */
- /* This also holds the _only_ dnode for symlinks/device nodes,
+ /* This also holds the _only_ dnode for symlinks/device nodes,
etc. */
struct jffs2_full_dnode *metadata;
/* Directory entries */
struct jffs2_full_dirent *dents;
+ /* The target path if this is the inode of a symlink */
+ unsigned char *target;
+
/* Some stuff we just have to keep in-core at all times, for each inode. */
struct jffs2_inode_cache *inocache;
- /* Keep a pointer to the last physical node in the list. We don't
- use the doubly-linked lists because we don't want to increase
- the memory usage that much. This is simpler */
- // struct jffs2_raw_node_ref *lastnode;
- __u16 flags;
- __u8 usercompr;
-};
-
-#ifdef JFFS2_OUT_OF_KERNEL
-#define JFFS2_INODE_INFO(i) ((struct jffs2_inode_info *) &(i)->u)
-#else
-#define JFFS2_INODE_INFO(i) (&i->u.jffs2_i)
+ uint16_t flags;
+ uint8_t usercompr;
+#if !defined (__ECOS)
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,2)
+ struct inode vfs_inode;
+#endif
#endif
+};
#endif /* _JFFS2_FS_I */
-