summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDave Jones <davej@suse.de>2002-02-26 00:57:44 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-02-26 00:57:44 -0800
commit34a7eea964236ed2e780f6376b79d7791e6b0ec0 (patch)
tree511acff77ea1e242c59b73b9f2d5712bac66972f /include
parentefc9d68fbff82e5aede0767345166a7ab9033080 (diff)
[PATCH] updates.
Forward ports from 2.4, Various janitor bits, and some fixes by me to make the thing work again in 2.5. I munged the MTDRAM driver to work also (seperate patch to follow), and it seems to work. David Woodhouse gave this the once over, and approved the changes. Complete changelog below: o Don't create two slabcaches with the same name. o Don't corrupt eraseblock lists on mount o Don't mark nodes obsolete during mount o __attribute__((packed)) on the node definitions. o Fix up() without down() in jffs2_readdir(). o Fix duplicate version number usage - s/highest_version++/++highest_version/ o Fix (i.e. implement) mtime/ctime on directories. maybe too busy with the bk stuff o Don't allow hardlinks of directories. o s/(mode&S_IFMT)==S_IFLNK/S_ISLNK(mode)/ et al to keep Al happy. o Fix for garbage-collection of holes, where we used to write nodes out with csize/dsize swapped. Workarounds for existing such brokenness. o Improve wear levelling by rotating node lists on mount, to avoid starting at one end of the flash every time. o Remember to get internal inode-semaphore on symlink operations.
Diffstat (limited to 'include')
-rw-r--r--include/linux/jffs2.h8
-rw-r--r--include/linux/jffs2_fs_sb.h3
2 files changed, 6 insertions, 5 deletions
diff --git a/include/linux/jffs2.h b/include/linux/jffs2.h
index 37d3d931e416..9c67732fb12f 100644
--- a/include/linux/jffs2.h
+++ b/include/linux/jffs2.h
@@ -31,7 +31,7 @@
* provisions above, a recipient may use your version of this file
* under either the RHEPL or the GPL.
*
- * $Id: jffs2.h,v 1.18 2001/03/25 22:36:12 dwmw2 Exp $
+ * $Id: jffs2.h,v 1.19 2001/10/09 13:20:23 dwmw2 Exp $
*
*/
@@ -103,7 +103,7 @@ struct jffs2_unknown_node
__u16 nodetype;
__u32 totlen; /* So we can skip over nodes we don't grok */
__u32 hdr_crc;
-};
+} __attribute__((packed));
struct jffs2_raw_dirent
{
@@ -121,7 +121,7 @@ struct jffs2_raw_dirent
__u32 node_crc;
__u32 name_crc;
__u8 name[0];
-};
+} __attribute__((packed));
/* The JFFS2 raw inode structure: Used for storage on physical media. */
/* The uid, gid, atime, mtime and ctime members could be longer, but
@@ -153,7 +153,7 @@ struct jffs2_raw_inode
__u32 data_crc; /* CRC for the (compressed) data. */
__u32 node_crc; /* CRC for the raw inode (excluding data) */
// __u8 data[dsize];
-};
+} __attribute__((packed));
union jffs2_node_union {
struct jffs2_raw_inode i;
diff --git a/include/linux/jffs2_fs_sb.h b/include/linux/jffs2_fs_sb.h
index 2d9ad4e54f5f..626c8c57fb72 100644
--- a/include/linux/jffs2_fs_sb.h
+++ b/include/linux/jffs2_fs_sb.h
@@ -1,4 +1,4 @@
-/* $Id: jffs2_fs_sb.h,v 1.16 2001/09/18 20:15:18 dwmw2 Exp $ */
+/* $Id: jffs2_fs_sb.h,v 1.16.2.1 2002/02/23 14:13:34 dwmw2 Exp $ */
#ifndef _JFFS2_FS_SB
#define _JFFS2_FS_SB
@@ -12,6 +12,7 @@
#define INOCACHE_HASHSIZE 1
#define JFFS2_SB_FLAG_RO 1
+#define JFFS2_SB_FLAG_MOUNTING 2
/* A struct for the overall file system control. Pointers to
jffs2_sb_info structs are named `c' in the source code.