1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-10-05 10:41:18 +02:00

add some netfilter modules to 2.6 and update squashfs to 2.2

SVN-Revision: 1782
This commit is contained in:
Waldemar Brodkorb 2005-08-29 07:39:40 +00:00
parent 92c81ec0fd
commit 304796a1b5
3 changed files with 155 additions and 113 deletions

@ -1,9 +1,9 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
SQUASHFSLZMA_DIR=$(BUILD_DIR)/squashfs2.1-r2 SQUASHFSLZMA_DIR=$(BUILD_DIR)/squashfs2.2
SQUASHFSLZMA_SOURCE=squashfs2.1-r2.tar.gz SQUASHFSLZMA_SOURCE=squashfs2.2.tar.gz
SQUASHFSLZMA_SITE=@SF/squashfs SQUASHFSLZMA_SITE=@SF/squashfs
SQUASHFSLZMA_MD5SUM=ffa24eff13b2ca51ed6990d15237e4c1 SQUASHFSLZMA_MD5SUM=9537f1bfa3efd5df722f1a85cd424414
$(DL_DIR)/$(SQUASHFSLZMA_SOURCE): $(DL_DIR)/$(SQUASHFSLZMA_SOURCE):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(SQUASHFSLZMA_SOURCE) $(SQUASHFSLZMA_MD5SUM) $(SQUASHFSLZMA_SITE) $(SCRIPT_DIR)/download.pl $(DL_DIR) $(SQUASHFSLZMA_SOURCE) $(SQUASHFSLZMA_MD5SUM) $(SQUASHFSLZMA_SITE)

@ -1,18 +1,25 @@
diff --new-file -ur linux-2.4.28/fs/Config.in linux-2.4.28-squashfs2.1-r2/fs/Config.in diff --new-file -urp linux-2.4.31/fs/Config.in linux-2.4.31-squashfs2.2/fs/Config.in
--- linux-2.4.28/fs/Config.in 2004-11-17 11:54:21.000000000 +0000 --- linux-2.4.31/fs/Config.in 2004-11-17 11:54:21.000000000 +0000
+++ linux-2.4.28-squashfs2.1-r2/fs/Config.in 2004-12-02 02:14:05.000000000 +0000 +++ linux-2.4.31-squashfs2.2/fs/Config.in 2005-07-04 02:28:51.000000000 +0100
@@ -51,6 +51,7 @@ @@ -51,6 +51,14 @@ if [ "$CONFIG_JFFS2_FS" = "y" -o "$CONFI
int 'JFFS2 debugging verbosity (0 = quiet, 2 = noisy)' CONFIG_JFFS2_FS_DEBUG 0 int 'JFFS2 debugging verbosity (0 = quiet, 2 = noisy)' CONFIG_JFFS2_FS_DEBUG 0
fi fi
tristate 'Compressed ROM file system support' CONFIG_CRAMFS tristate 'Compressed ROM file system support' CONFIG_CRAMFS
+tristate 'Squashed file system support' CONFIG_SQUASHFS +tristate 'Squashed file system support' CONFIG_SQUASHFS
+if [ "$CONFIG_SQUASHFS" = "y" -o "$CONFIG_SQUASHFS" = "m" ] ; then
+bool 'Additional options for memory constrained systems ' CONFIG_SQUASHFS_EMBEDDED
+fi
+if [ "$CONFIG_SQUASHFS_EMBEDDED" = "y" ] ; then
+int 'Number of fragments cached' CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE 3
+bool 'Use Vmalloc rather than Kmalloc' CONFIG_SQUASHFS_VMALLOC
+fi
bool 'Virtual memory file system support (former shm fs)' CONFIG_TMPFS bool 'Virtual memory file system support (former shm fs)' CONFIG_TMPFS
define_bool CONFIG_RAMFS y define_bool CONFIG_RAMFS y
diff --new-file -ur linux-2.4.28/fs/Makefile linux-2.4.28-squashfs2.1-r2/fs/Makefile diff --new-file -urp linux-2.4.31/fs/Makefile linux-2.4.31-squashfs2.2/fs/Makefile
--- linux-2.4.28/fs/Makefile 2004-02-18 13:36:31.000000000 +0000 --- linux-2.4.31/fs/Makefile 2004-02-18 13:36:31.000000000 +0000
+++ linux-2.4.28-squashfs2.1-r2/fs/Makefile 2004-12-02 02:14:05.000000000 +0000 +++ linux-2.4.31-squashfs2.2/fs/Makefile 2005-07-04 02:28:51.000000000 +0100
@@ -65,6 +65,7 @@ @@ -65,6 +65,7 @@ subdir-$(CONFIG_REISERFS_FS) += reiserfs
subdir-$(CONFIG_DEVPTS_FS) += devpts subdir-$(CONFIG_DEVPTS_FS) += devpts
subdir-$(CONFIG_SUN_OPENPROMFS) += openpromfs subdir-$(CONFIG_SUN_OPENPROMFS) += openpromfs
subdir-$(CONFIG_BEFS_FS) += befs subdir-$(CONFIG_BEFS_FS) += befs
@ -20,14 +27,14 @@ diff --new-file -ur linux-2.4.28/fs/Makefile linux-2.4.28-squashfs2.1-r2/fs/Make
subdir-$(CONFIG_JFS_FS) += jfs subdir-$(CONFIG_JFS_FS) += jfs
subdir-$(CONFIG_XFS_FS) += xfs subdir-$(CONFIG_XFS_FS) += xfs
diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2/fs/squashfs/inode.c diff --new-file -urp linux-2.4.31/fs/squashfs/inode.c linux-2.4.31-squashfs2.2/fs/squashfs/inode.c
--- linux-2.4.28/fs/squashfs/inode.c 1970-01-01 01:00:00.000000000 +0100 --- linux-2.4.31/fs/squashfs/inode.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.4.28-squashfs2.1-r2/fs/squashfs/inode.c 2004-12-15 10:13:06.000000000 +0000 +++ linux-2.4.31-squashfs2.2/fs/squashfs/inode.c 2005-07-04 02:28:51.000000000 +0100
@@ -0,0 +1,1677 @@ @@ -0,0 +1,1695 @@
+/* +/*
+ * Squashfs - a compressed read only filesystem for Linux + * Squashfs - a compressed read only filesystem for Linux
+ * + *
+ * Copyright (c) 2002, 2003, 2004 Phillip Lougher <plougher@users.sourceforge.net> + * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher <phillip@lougher.demon.co.uk>
+ * + *
+ * This program is free software; you can redistribute it and/or + * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License + * modify it under the terms of the GNU General Public License
@ -144,56 +151,70 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2
+}; +};
+ +
+ +
+static struct buffer_head *get_block_length(struct super_block *s, int *cur_index, int *offset, int *c_byte) +static struct buffer_head *get_block_length(struct super_block *s,
+ int *cur_index, int *offset, int *c_byte)
+{ +{
+ squashfs_sb_info *msBlk = &s->u.squashfs_sb; + squashfs_sb_info *msblk = &s->u.squashfs_sb;
+ unsigned short temp; + unsigned short temp;
+ struct buffer_head *bh; + struct buffer_head *bh;
+ +
+ if(!(bh = sb_bread(s, *cur_index))) + if (!(bh = sb_bread(s, *cur_index)))
+ return NULL; + goto out;
+ +
+ if(msBlk->devblksize - *offset == 1) { + if (msblk->devblksize - *offset == 1) {
+ if(msBlk->swap) + if (msblk->swap)
+ ((unsigned char *) &temp)[1] = *((unsigned char *) (bh->b_data + *offset)); + ((unsigned char *) &temp)[1] = *((unsigned char *)
+ (bh->b_data + *offset));
+ else + else
+ ((unsigned char *) &temp)[0] = *((unsigned char *) (bh->b_data + *offset)); + ((unsigned char *) &temp)[0] = *((unsigned char *)
+ (bh->b_data + *offset));
+ brelse(bh); + brelse(bh);
+ if(!(bh = sb_bread(s, ++(*cur_index)))) + if (!(bh = sb_bread(s, ++(*cur_index))))
+ return NULL; + goto out;
+ if(msBlk->swap) + if (msblk->swap)
+ ((unsigned char *) &temp)[0] = *((unsigned char *) bh->b_data); + ((unsigned char *) &temp)[0] = *((unsigned char *)
+ bh->b_data);
+ else + else
+ ((unsigned char *) &temp)[1] = *((unsigned char *) bh->b_data); + ((unsigned char *) &temp)[1] = *((unsigned char *)
+ bh->b_data);
+ *c_byte = temp; + *c_byte = temp;
+ *offset = 1; + *offset = 1;
+ } + } else {
+ else { + if (msblk->swap) {
+ if(msBlk->swap) { + ((unsigned char *) &temp)[1] = *((unsigned char *)
+ unsigned short temp; + (bh->b_data + *offset));
+ ((unsigned char *) &temp)[1] = *((unsigned char *) (bh->b_data + *offset)); + ((unsigned char *) &temp)[0] = *((unsigned char *)
+ ((unsigned char *) &temp)[0] = *((unsigned char *) (bh->b_data + *offset + 1)); + (bh->b_data + *offset + 1));
+ *c_byte = temp; + } else {
+ } else + ((unsigned char *) &temp)[0] = *((unsigned char *)
+ *c_byte = *((unsigned short *) (bh->b_data + *offset)); + (bh->b_data + *offset));
+ ((unsigned char *) &temp)[1] = *((unsigned char *)
+ (bh->b_data + *offset + 1));
+ }
+ *c_byte = temp;
+ *offset += 2; + *offset += 2;
+ } + }
+ if(SQUASHFS_CHECK_DATA(msBlk->sBlk.flags)) {
+ if(*offset == msBlk->devblksize) {
+ brelse(bh);
+ if(!(bh = sb_bread(s, ++(*cur_index))))
+ return NULL;
+ offset = 0;
+ }
+ if(*((unsigned char *) (bh->b_data + *offset)) != SQUASHFS_MARKER_BYTE) {
+ ERROR("Metadata block marker corrupt @ %x\n", *cur_index);
+ brelse(bh);
+ return NULL;
+ }
+ *offset ++;
+ }
+ +
+ if (SQUASHFS_CHECK_DATA(msblk->sBlk.flags)) {
+ if (*offset == msblk->devblksize) {
+ brelse(bh);
+ if (!(bh = sb_bread(s, ++(*cur_index))))
+ goto out;
+ *offset = 0;
+ }
+ if (*((unsigned char *) (bh->b_data + *offset)) !=
+ SQUASHFS_MARKER_BYTE) {
+ ERROR("Metadata block marker corrupt @ %x\n",
+ *cur_index);
+ brelse(bh);
+ goto out;
+ }
+ (*offset)++;
+ }
+ return bh; + return bh;
+
+out:
+ return NULL;
+} +}
+ +
+ +
@ -250,6 +271,8 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2
+ for(bytes = 0, k = 0; k < b; k++) { + for(bytes = 0, k = 0; k < b; k++) {
+ avail_bytes = (c_byte - bytes) > (msBlk->devblksize - offset) ? msBlk->devblksize - offset : c_byte - bytes; + avail_bytes = (c_byte - bytes) > (msBlk->devblksize - offset) ? msBlk->devblksize - offset : c_byte - bytes;
+ wait_on_buffer(bh[k]); + wait_on_buffer(bh[k]);
+ if (!buffer_uptodate(bh[k]))
+ goto block_release;
+ memcpy(c_buffer + bytes, bh[k]->b_data + offset, avail_bytes); + memcpy(c_buffer + bytes, bh[k]->b_data + offset, avail_bytes);
+ bytes += avail_bytes; + bytes += avail_bytes;
+ offset = 0; + offset = 0;
@ -288,6 +311,8 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2
+ ERROR("sb_bread failed reading block 0x%x\n", cur_index); + ERROR("sb_bread failed reading block 0x%x\n", cur_index);
+ return 0; + return 0;
+} +}
+
+
+static int squashfs_get_cached_block(struct super_block *s, char *buffer, +static int squashfs_get_cached_block(struct super_block *s, char *buffer,
+ unsigned int block, unsigned int offset, int length, + unsigned int block, unsigned int offset, int length,
+ unsigned int *next_block, unsigned int *next_offset) + unsigned int *next_block, unsigned int *next_offset)
@ -427,7 +452,7 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2
+ +
+ if(msBlk->fragment[i].data == NULL) + if(msBlk->fragment[i].data == NULL)
+ if(!(msBlk->fragment[i].data = (unsigned char *) + if(!(msBlk->fragment[i].data = (unsigned char *)
+ kmalloc(SQUASHFS_FILE_MAX_SIZE, GFP_KERNEL))) { + SQUASHFS_ALLOC(SQUASHFS_FILE_MAX_SIZE))) {
+ ERROR("Failed to allocate fragment cache block\n"); + ERROR("Failed to allocate fragment cache block\n");
+ up(&msBlk->fragment_mutex); + up(&msBlk->fragment_mutex);
+ return NULL; + return NULL;
@ -1661,7 +1686,7 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2
+ if(sbi->fragment) { + if(sbi->fragment) {
+ for(i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++) + for(i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++)
+ if(sbi->fragment[i].data != NULL) + if(sbi->fragment[i].data != NULL)
+ kfree(sbi->fragment[i].data); + SQUASHFS_FREE(sbi->fragment[i].data);
+ kfree(sbi->fragment); + kfree(sbi->fragment);
+ } + }
+ if(sbi->fragment_index) kfree(sbi->fragment_index); + if(sbi->fragment_index) kfree(sbi->fragment_index);
@ -1677,7 +1702,7 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2
+static int __init init_squashfs_fs(void) +static int __init init_squashfs_fs(void)
+{ +{
+ +
+ printk(KERN_INFO "Squashfs 2.1-r2 (released 2004/12/15) (C) 2002-2004 Phillip Lougher\n"); + printk(KERN_INFO "Squashfs 2.2 (released 2005/07/03) (C) 2002-2004, 2005 Phillip Lougher\n");
+ +
+ if(!(stream.workspace = (char *) vmalloc(zlib_inflate_workspacesize()))) { + if(!(stream.workspace = (char *) vmalloc(zlib_inflate_workspacesize()))) {
+ ERROR("Failed to allocate zlib workspace\n"); + ERROR("Failed to allocate zlib workspace\n");
@ -1699,11 +1724,11 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/inode.c linux-2.4.28-squashfs2.1-r2
+module_init(init_squashfs_fs); +module_init(init_squashfs_fs);
+module_exit(exit_squashfs_fs); +module_exit(exit_squashfs_fs);
+MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem"); +MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
+MODULE_AUTHOR("Phillip Lougher <plougher@users.sourceforge.net>"); +MODULE_AUTHOR("Phillip Lougher <phillip@lougher.demon.co.uk>");
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
diff --new-file -ur linux-2.4.28/fs/squashfs/Makefile linux-2.4.28-squashfs2.1-r2/fs/squashfs/Makefile diff --new-file -urp linux-2.4.31/fs/squashfs/Makefile linux-2.4.31-squashfs2.2/fs/squashfs/Makefile
--- linux-2.4.28/fs/squashfs/Makefile 1970-01-01 01:00:00.000000000 +0100 --- linux-2.4.31/fs/squashfs/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.4.28-squashfs2.1-r2/fs/squashfs/Makefile 2004-12-02 02:14:05.000000000 +0000 +++ linux-2.4.31-squashfs2.2/fs/squashfs/Makefile 2005-07-04 02:28:51.000000000 +0100
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
+# +#
+# Makefile for the linux squashfs routines. +# Makefile for the linux squashfs routines.
@ -1716,10 +1741,10 @@ diff --new-file -ur linux-2.4.28/fs/squashfs/Makefile linux-2.4.28-squashfs2.1-r
+obj-m := $(O_TARGET) +obj-m := $(O_TARGET)
+ +
+include $(TOPDIR)/Rules.make +include $(TOPDIR)/Rules.make
diff --new-file -ur linux-2.4.28/include/linux/fs.h linux-2.4.28-squashfs2.1-r2/include/linux/fs.h diff --new-file -urp linux-2.4.31/include/linux/fs.h linux-2.4.31-squashfs2.2/include/linux/fs.h
--- linux-2.4.28/include/linux/fs.h 2004-11-17 11:54:22.000000000 +0000 --- linux-2.4.31/include/linux/fs.h 2005-04-04 02:42:20.000000000 +0100
+++ linux-2.4.28-squashfs2.1-r2/include/linux/fs.h 2004-12-02 02:14:05.000000000 +0000 +++ linux-2.4.31-squashfs2.2/include/linux/fs.h 2005-07-04 02:28:51.000000000 +0100
@@ -324,6 +324,7 @@ @@ -324,6 +324,7 @@ extern void set_bh_page(struct buffer_he
#include <linux/usbdev_fs_i.h> #include <linux/usbdev_fs_i.h>
#include <linux/jffs2_fs_i.h> #include <linux/jffs2_fs_i.h>
#include <linux/cramfs_fs_sb.h> #include <linux/cramfs_fs_sb.h>
@ -1727,7 +1752,7 @@ diff --new-file -ur linux-2.4.28/include/linux/fs.h linux-2.4.28-squashfs2.1-r2/
/* /*
* Attribute flags. These should be or-ed together to figure out what * Attribute flags. These should be or-ed together to figure out what
@@ -519,6 +520,7 @@ @@ -519,6 +520,7 @@ struct inode {
struct socket socket_i; struct socket socket_i;
struct usbdev_inode_info usbdev_i; struct usbdev_inode_info usbdev_i;
struct jffs2_inode_info jffs2_i; struct jffs2_inode_info jffs2_i;
@ -1735,7 +1760,7 @@ diff --new-file -ur linux-2.4.28/include/linux/fs.h linux-2.4.28-squashfs2.1-r2/
void *generic_ip; void *generic_ip;
} u; } u;
}; };
@@ -733,6 +735,7 @@ @@ -734,6 +736,7 @@ struct nameidata {
#include <linux/usbdev_fs_sb.h> #include <linux/usbdev_fs_sb.h>
#include <linux/cramfs_fs_sb.h> #include <linux/cramfs_fs_sb.h>
#include <linux/jffs2_fs_sb.h> #include <linux/jffs2_fs_sb.h>
@ -1743,7 +1768,7 @@ diff --new-file -ur linux-2.4.28/include/linux/fs.h linux-2.4.28-squashfs2.1-r2/
extern struct list_head super_blocks; extern struct list_head super_blocks;
extern spinlock_t sb_lock; extern spinlock_t sb_lock;
@@ -792,6 +795,7 @@ @@ -793,6 +796,7 @@ struct super_block {
struct usbdev_sb_info usbdevfs_sb; struct usbdev_sb_info usbdevfs_sb;
struct jffs2_sb_info jffs2_sb; struct jffs2_sb_info jffs2_sb;
struct cramfs_sb_info cramfs_sb; struct cramfs_sb_info cramfs_sb;
@ -1751,16 +1776,16 @@ diff --new-file -ur linux-2.4.28/include/linux/fs.h linux-2.4.28-squashfs2.1-r2/
void *generic_sbp; void *generic_sbp;
} u; } u;
/* /*
diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs.h linux-2.4.28-squashfs2.1-r2/include/linux/squashfs_fs.h diff --new-file -urp linux-2.4.31/include/linux/squashfs_fs.h linux-2.4.31-squashfs2.2/include/linux/squashfs_fs.h
--- linux-2.4.28/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100 --- linux-2.4.31/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.4.28-squashfs2.1-r2/include/linux/squashfs_fs.h 2004-12-02 02:52:36.000000000 +0000 +++ linux-2.4.31-squashfs2.2/include/linux/squashfs_fs.h 2005-07-04 02:28:51.000000000 +0100
@@ -0,0 +1,512 @@ @@ -0,0 +1,523 @@
+#ifndef SQUASHFS_FS +#ifndef SQUASHFS_FS
+#define SQUASHFS_FS +#define SQUASHFS_FS
+/* +/*
+ * Squashfs + * Squashfs
+ * + *
+ * Copyright (c) 2002, 2003, 2004 Phillip Lougher <plougher@users.sourceforge.net> + * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher <phillip@lougher.demon.co.uk>
+ * + *
+ * This program is free software; you can redistribute it and/or + * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License + * modify it under the terms of the GNU General Public License
@ -1779,6 +1804,18 @@ diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs.h linux-2.4.28-squash
+ * squashfs_fs.h + * squashfs_fs.h
+ */ + */
+ +
+#ifdef CONFIG_SQUASHFS_VMALLOC
+#define SQUASHFS_ALLOC(a) vmalloc(a)
+#define SQUASHFS_FREE(a) vfree(a)
+#else
+#define SQUASHFS_ALLOC(a) kmalloc(a, GFP_KERNEL)
+#define SQUASHFS_FREE(a) kfree(a)
+#endif
+#ifdef CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
+#define SQUASHFS_CACHED_FRAGMENTS CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
+#else
+#define SQUASHFS_CACHED_FRAGMENTS 3
+#endif
+#define SQUASHFS_MAJOR 2 +#define SQUASHFS_MAJOR 2
+#define SQUASHFS_MINOR 1 +#define SQUASHFS_MINOR 1
+#define SQUASHFS_MAGIC 0x73717368 +#define SQUASHFS_MAGIC 0x73717368
@ -1873,7 +1910,6 @@ diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs.h linux-2.4.28-squash
+#define SQUASHFS_FRAGMENT_INDEX_OFFSET(A) (SQUASHFS_FRAGMENT_BYTES(A) % SQUASHFS_METADATA_SIZE) +#define SQUASHFS_FRAGMENT_INDEX_OFFSET(A) (SQUASHFS_FRAGMENT_BYTES(A) % SQUASHFS_METADATA_SIZE)
+#define SQUASHFS_FRAGMENT_INDEXES(A) ((SQUASHFS_FRAGMENT_BYTES(A) + SQUASHFS_METADATA_SIZE - 1) / SQUASHFS_METADATA_SIZE) +#define SQUASHFS_FRAGMENT_INDEXES(A) ((SQUASHFS_FRAGMENT_BYTES(A) + SQUASHFS_METADATA_SIZE - 1) / SQUASHFS_METADATA_SIZE)
+#define SQUASHFS_FRAGMENT_INDEX_BYTES(A) (SQUASHFS_FRAGMENT_INDEXES(A) * sizeof(squashfs_fragment_index)) +#define SQUASHFS_FRAGMENT_INDEX_BYTES(A) (SQUASHFS_FRAGMENT_INDEXES(A) * sizeof(squashfs_fragment_index))
+#define SQUASHFS_CACHED_FRAGMENTS 3
+ +
+/* cached data constants for filesystem */ +/* cached data constants for filesystem */
+#define SQUASHFS_CACHED_BLKS 8 +#define SQUASHFS_CACHED_BLKS 8
@ -2267,16 +2303,16 @@ diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs.h linux-2.4.28-squash
+#define SQUASHFS_MEMSET(s, d, n) memset(s, 0, n); +#define SQUASHFS_MEMSET(s, d, n) memset(s, 0, n);
+#endif +#endif
+#endif +#endif
diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs_i.h linux-2.4.28-squashfs2.1-r2/include/linux/squashfs_fs_i.h diff --new-file -urp linux-2.4.31/include/linux/squashfs_fs_i.h linux-2.4.31-squashfs2.2/include/linux/squashfs_fs_i.h
--- linux-2.4.28/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100 --- linux-2.4.31/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.4.28-squashfs2.1-r2/include/linux/squashfs_fs_i.h 2004-12-15 10:13:06.000000000 +0000 +++ linux-2.4.31-squashfs2.2/include/linux/squashfs_fs_i.h 2005-07-04 02:28:51.000000000 +0100
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
+#ifndef SQUASHFS_FS_I +#ifndef SQUASHFS_FS_I
+#define SQUASHFS_FS_I +#define SQUASHFS_FS_I
+/* +/*
+ * Squashfs + * Squashfs
+ * + *
+ * Copyright (c) 2002, 2003, 2004 Phillip Lougher <plougher@users.sourceforge.net> + * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher <phillip@lougher.demon.co.uk>
+ * + *
+ * This program is free software; you can redistribute it and/or + * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License + * modify it under the terms of the GNU General Public License
@ -2313,16 +2349,16 @@ diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs_i.h linux-2.4.28-squa
+ } u; + } u;
+ } squashfs_inode_info; + } squashfs_inode_info;
+#endif +#endif
diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs_sb.h linux-2.4.28-squashfs2.1-r2/include/linux/squashfs_fs_sb.h diff --new-file -urp linux-2.4.31/include/linux/squashfs_fs_sb.h linux-2.4.31-squashfs2.2/include/linux/squashfs_fs_sb.h
--- linux-2.4.28/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100 --- linux-2.4.31/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.4.28-squashfs2.1-r2/include/linux/squashfs_fs_sb.h 2004-12-02 02:52:36.000000000 +0000 +++ linux-2.4.31-squashfs2.2/include/linux/squashfs_fs_sb.h 2005-07-04 02:28:51.000000000 +0100
@@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
+#ifndef SQUASHFS_FS_SB +#ifndef SQUASHFS_FS_SB
+#define SQUASHFS_FS_SB +#define SQUASHFS_FS_SB
+/* +/*
+ * Squashfs + * Squashfs
+ * + *
+ * Copyright (c) 2002, 2003, 2004 Phillip Lougher <plougher@users.sourceforge.net> + * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher <phillip@lougher.demon.co.uk>
+ * + *
+ * This program is free software; you can redistribute it and/or + * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License + * modify it under the terms of the GNU General Public License
@ -2382,9 +2418,9 @@ diff --new-file -ur linux-2.4.28/include/linux/squashfs_fs_sb.h linux-2.4.28-squ
+ char *block_list, unsigned short **block_p, unsigned int *bsize); + char *block_list, unsigned short **block_p, unsigned int *bsize);
+ } squashfs_sb_info; + } squashfs_sb_info;
+#endif +#endif
diff --new-file -ur linux-2.4.28/init/do_mounts.c linux-2.4.28-squashfs2.1-r2/init/do_mounts.c diff --new-file -urp linux-2.4.31/init/do_mounts.c linux-2.4.31-squashfs2.2/init/do_mounts.c
--- linux-2.4.28/init/do_mounts.c 2003-11-28 18:26:21.000000000 +0000 --- linux-2.4.31/init/do_mounts.c 2003-11-28 18:26:21.000000000 +0000
+++ linux-2.4.28-squashfs2.1-r2/init/do_mounts.c 2004-12-02 02:14:06.000000000 +0000 +++ linux-2.4.31-squashfs2.2/init/do_mounts.c 2005-07-04 02:28:51.000000000 +0100
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
#include <linux/minix_fs.h> #include <linux/minix_fs.h>
#include <linux/ext2_fs.h> #include <linux/ext2_fs.h>
@ -2393,7 +2429,7 @@ diff --new-file -ur linux-2.4.28/init/do_mounts.c linux-2.4.28-squashfs2.1-r2/in
#include <linux/cramfs_fs.h> #include <linux/cramfs_fs.h>
#define BUILD_CRAMDISK #define BUILD_CRAMDISK
@@ -476,6 +477,7 @@ @@ -476,6 +477,7 @@ static int __init crd_load(int in_fd, in
* minix * minix
* ext2 * ext2
* romfs * romfs
@ -2401,7 +2437,7 @@ diff --new-file -ur linux-2.4.28/init/do_mounts.c linux-2.4.28-squashfs2.1-r2/in
* cramfs * cramfs
* gzip * gzip
*/ */
@@ -486,6 +488,7 @@ @@ -486,6 +488,7 @@ identify_ramdisk_image(int fd, int start
struct minix_super_block *minixsb; struct minix_super_block *minixsb;
struct ext2_super_block *ext2sb; struct ext2_super_block *ext2sb;
struct romfs_super_block *romfsb; struct romfs_super_block *romfsb;
@ -2409,7 +2445,7 @@ diff --new-file -ur linux-2.4.28/init/do_mounts.c linux-2.4.28-squashfs2.1-r2/in
struct cramfs_super *cramfsb; struct cramfs_super *cramfsb;
int nblocks = -1; int nblocks = -1;
unsigned char *buf; unsigned char *buf;
@@ -497,6 +500,7 @@ @@ -497,6 +500,7 @@ identify_ramdisk_image(int fd, int start
minixsb = (struct minix_super_block *) buf; minixsb = (struct minix_super_block *) buf;
ext2sb = (struct ext2_super_block *) buf; ext2sb = (struct ext2_super_block *) buf;
romfsb = (struct romfs_super_block *) buf; romfsb = (struct romfs_super_block *) buf;
@ -2417,7 +2453,7 @@ diff --new-file -ur linux-2.4.28/init/do_mounts.c linux-2.4.28-squashfs2.1-r2/in
cramfsb = (struct cramfs_super *) buf; cramfsb = (struct cramfs_super *) buf;
memset(buf, 0xe5, size); memset(buf, 0xe5, size);
@@ -535,6 +539,15 @@ @@ -535,6 +539,15 @@ identify_ramdisk_image(int fd, int start
goto done; goto done;
} }
@ -2433,10 +2469,10 @@ diff --new-file -ur linux-2.4.28/init/do_mounts.c linux-2.4.28-squashfs2.1-r2/in
/* /*
* Read block 1 to test for minix and ext2 superblock * Read block 1 to test for minix and ext2 superblock
*/ */
diff --new-file -ur linux-2.4.28/lib/Config.in linux-2.4.28-squashfs2.1-r2/lib/Config.in diff --new-file -urp linux-2.4.31/lib/Config.in linux-2.4.31-squashfs2.2/lib/Config.in
--- linux-2.4.28/lib/Config.in 2003-11-28 18:26:21.000000000 +0000 --- linux-2.4.31/lib/Config.in 2003-11-28 18:26:21.000000000 +0000
+++ linux-2.4.28-squashfs2.1-r2/lib/Config.in 2004-12-02 02:14:06.000000000 +0000 +++ linux-2.4.31-squashfs2.2/lib/Config.in 2005-07-04 02:28:51.000000000 +0100
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@ tristate 'CRC32 functions' CONFIG_CRC32
# Do we need the compression support? # Do we need the compression support?
# #
if [ "$CONFIG_CRAMFS" = "y" -o \ if [ "$CONFIG_CRAMFS" = "y" -o \
@ -2444,7 +2480,7 @@ diff --new-file -ur linux-2.4.28/lib/Config.in linux-2.4.28-squashfs2.1-r2/lib/C
"$CONFIG_PPP_DEFLATE" = "y" -o \ "$CONFIG_PPP_DEFLATE" = "y" -o \
"$CONFIG_CRYPTO_DEFLATE" = "y" -o \ "$CONFIG_CRYPTO_DEFLATE" = "y" -o \
"$CONFIG_JFFS2_FS" = "y" -o \ "$CONFIG_JFFS2_FS" = "y" -o \
@@ -17,6 +18,7 @@ @@ -17,6 +18,7 @@ if [ "$CONFIG_CRAMFS" = "y" -o \
define_tristate CONFIG_ZLIB_INFLATE y define_tristate CONFIG_ZLIB_INFLATE y
else else
if [ "$CONFIG_CRAMFS" = "m" -o \ if [ "$CONFIG_CRAMFS" = "m" -o \

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.12.5 # Linux kernel version: 2.6.12.5
# Sun Aug 28 23:44:24 2005 # Mon Aug 29 01:39:10 2005
# #
CONFIG_MIPS=y CONFIG_MIPS=y
# CONFIG_MIPS64 is not set # CONFIG_MIPS64 is not set
@ -418,33 +418,36 @@ CONFIG_NETFILTER=y
# IP: Netfilter Configuration # IP: Netfilter Configuration
# #
CONFIG_IP_NF_CONNTRACK=y CONFIG_IP_NF_CONNTRACK=y
# CONFIG_IP_NF_CT_ACCT is not set CONFIG_IP_NF_CT_ACCT=y
# CONFIG_IP_NF_CONNTRACK_MARK is not set # CONFIG_IP_NF_CONNTRACK_MARK is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set # CONFIG_IP_NF_CT_PROTO_SCTP is not set
CONFIG_IP_NF_FTP=y CONFIG_IP_NF_FTP=y
# CONFIG_IP_NF_IRC is not set CONFIG_IP_NF_IRC=m
# CONFIG_IP_NF_TFTP is not set CONFIG_IP_NF_TFTP=m
# CONFIG_IP_NF_AMANDA is not set CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=y CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_IPTABLES=y
# CONFIG_IP_NF_MATCH_LIMIT is not set CONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_MATCH_IPRANGE is not set CONFIG_IP_NF_MATCH_IPRANGE=m
# CONFIG_IP_NF_MATCH_MAC is not set CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_LAYER7=m
# CONFIG_IP_NF_MATCH_LAYER7_DEBUG is not set
CONFIG_IP_NF_MATCH_LAYER7_MAXDATALEN=2048
# CONFIG_IP_NF_MATCH_PKTTYPE is not set # CONFIG_IP_NF_MATCH_PKTTYPE is not set
# CONFIG_IP_NF_MATCH_MARK is not set CONFIG_IP_NF_MATCH_MARK=m
# CONFIG_IP_NF_MATCH_MULTIPORT is not set CONFIG_IP_NF_MATCH_MULTIPORT=m
# CONFIG_IP_NF_MATCH_TOS is not set CONFIG_IP_NF_MATCH_TOS=m
# CONFIG_IP_NF_MATCH_RECENT is not set CONFIG_IP_NF_MATCH_RECENT=m
# CONFIG_IP_NF_MATCH_ECN is not set CONFIG_IP_NF_MATCH_ECN=m
# CONFIG_IP_NF_MATCH_DSCP is not set CONFIG_IP_NF_MATCH_DSCP=m
# CONFIG_IP_NF_MATCH_AH_ESP is not set CONFIG_IP_NF_MATCH_AH_ESP=m
# CONFIG_IP_NF_MATCH_LENGTH is not set CONFIG_IP_NF_MATCH_LENGTH=m
# CONFIG_IP_NF_MATCH_TTL is not set CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=y CONFIG_IP_NF_MATCH_TCPMSS=y
# CONFIG_IP_NF_MATCH_HELPER is not set CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=y CONFIG_IP_NF_MATCH_STATE=y
# CONFIG_IP_NF_MATCH_CONNTRACK is not set CONFIG_IP_NF_MATCH_CONNTRACK=m
# CONFIG_IP_NF_MATCH_OWNER is not set CONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set # CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_REALM is not set # CONFIG_IP_NF_MATCH_REALM is not set
# CONFIG_IP_NF_MATCH_SCTP is not set # CONFIG_IP_NF_MATCH_SCTP is not set
@ -453,7 +456,7 @@ CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_TARGET_REJECT=y
# CONFIG_IP_NF_TARGET_LOG is not set # CONFIG_IP_NF_TARGET_LOG is not set
# CONFIG_IP_NF_TARGET_ULOG is not set CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=y CONFIG_IP_NF_TARGET_TCPMSS=y
CONFIG_IP_NF_NAT=y CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y CONFIG_IP_NF_NAT_NEEDED=y
@ -462,7 +465,10 @@ CONFIG_IP_NF_TARGET_REDIRECT=y
# CONFIG_IP_NF_TARGET_NETMAP is not set # CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not set # CONFIG_IP_NF_TARGET_SAME is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set # CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=y CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=y CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=m CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_ECN=m