diff options
| author | Dave Jones <davej@suse.de> | 2002-02-26 00:57:44 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-02-26 00:57:44 -0800 |
| commit | 34a7eea964236ed2e780f6376b79d7791e6b0ec0 (patch) | |
| tree | 511acff77ea1e242c59b73b9f2d5712bac66972f /include | |
| parent | efc9d68fbff82e5aede0767345166a7ab9033080 (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.h | 8 | ||||
| -rw-r--r-- | include/linux/jffs2_fs_sb.h | 3 |
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. |
