SOURCES (LINUX_2_6_20): squashfs3.2-patch - up to linux-2.6.20-squ...
mguevara
mguevara at pld-linux.org
Fri Apr 20 22:45:51 CEST 2007
Author: mguevara Date: Fri Apr 20 20:45:51 2007 GMT
Module: SOURCES Tag: LINUX_2_6_20
---- Log message:
- up to linux-2.6.20-squashfs3.2-r2
---- Files affected:
SOURCES:
squashfs3.2-patch (1.1.2.1 -> 1.1.2.1.2.1)
---- Diffs:
================================================================
Index: SOURCES/squashfs3.2-patch
diff -u SOURCES/squashfs3.2-patch:1.1.2.1 SOURCES/squashfs3.2-patch:1.1.2.1.2.1
--- SOURCES/squashfs3.2-patch:1.1.2.1 Mon Jan 8 09:32:52 2007
+++ SOURCES/squashfs3.2-patch Fri Apr 20 22:45:45 2007
@@ -1,6 +1,6 @@
-diff -Nurp -x .gitignore linux-2.6.20/fs/Kconfig linux-2.6.20-squashfs3.2/fs/Kconfig
+diff -x .gitignore -Nurp linux-2.6.20/fs/Kconfig linux-2.6.20-squashfs3.2-r2/fs/Kconfig
--- linux-2.6.20/fs/Kconfig 2006-12-25 01:13:12.000000000 +0000
-+++ linux-2.6.20-squashfs3.2/fs/Kconfig 2006-12-25 10:56:26.000000000 +0000
++++ linux-2.6.20-squashfs3.2-r2/fs/Kconfig 2007-01-16 02:06:03.000000000 +0000
@@ -1404,6 +1404,71 @@ config CRAMFS
If unsure, say N.
@@ -73,9 +73,9 @@
config VXFS_FS
tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
depends on BLOCK
-diff -Nurp -x .gitignore linux-2.6.20/fs/Makefile linux-2.6.20-squashfs3.2/fs/Makefile
+diff -x .gitignore -Nurp linux-2.6.20/fs/Makefile linux-2.6.20-squashfs3.2-r2/fs/Makefile
--- linux-2.6.20/fs/Makefile 2006-12-25 01:13:12.000000000 +0000
-+++ linux-2.6.20-squashfs3.2/fs/Makefile 2006-12-25 10:55:37.000000000 +0000
++++ linux-2.6.20-squashfs3.2-r2/fs/Makefile 2007-01-16 02:06:03.000000000 +0000
@@ -68,6 +68,7 @@ obj-$(CONFIG_JBD) += jbd/
obj-$(CONFIG_JBD2) += jbd2/
obj-$(CONFIG_EXT2_FS) += ext2/
@@ -84,10 +84,10 @@
obj-$(CONFIG_RAMFS) += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/
-diff -Nurp -x .gitignore linux-2.6.20/fs/squashfs/inode.c linux-2.6.20-squashfs3.2/fs/squashfs/inode.c
+diff -x .gitignore -Nurp linux-2.6.20/fs/squashfs/inode.c linux-2.6.20-squashfs3.2-r2/fs/squashfs/inode.c
--- linux-2.6.20/fs/squashfs/inode.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20-squashfs3.2/fs/squashfs/inode.c 2006-12-31 19:26:30.000000000 +0000
-@@ -0,0 +1,2328 @@
++++ linux-2.6.20-squashfs3.2-r2/fs/squashfs/inode.c 2007-01-16 02:28:36.000000000 +0000
+@@ -0,0 +1,2329 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+ *
@@ -111,49 +111,40 @@
+ * inode.c
+ */
+
-+#include <linux/types.h>
+#include <linux/squashfs_fs.h>
+#include <linux/module.h>
-+#include <linux/errno.h>
-+#include <linux/slab.h>
+#include <linux/zlib.h>
+#include <linux/fs.h>
-+#include <linux/smp_lock.h>
-+#include <linux/slab.h>
+#include <linux/squashfs_fs_sb.h>
+#include <linux/squashfs_fs_i.h>
+#include <linux/buffer_head.h>
+#include <linux/vfs.h>
-+#include <linux/init.h>
-+#include <linux/dcache.h>
-+#include <linux/wait.h>
-+#include <linux/blkdev.h>
+#include <linux/vmalloc.h>
-+#include <asm/uaccess.h>
-+#include <asm/semaphore.h>
++#include <linux/smp_lock.h>
+
+#include "squashfs.h"
+
-+static void squashfs_put_super(struct super_block *);
++static void vfs_read_inode(struct inode *i);
++static struct dentry *squashfs_get_parent(struct dentry *child);
++static int squashfs_read_inode(struct inode *i, squashfs_inode_t inode);
+static int squashfs_statfs(struct dentry *, struct kstatfs *);
+static int squashfs_symlink_readpage(struct file *file, struct page *page);
++static long long read_blocklist(struct inode *inode, int index,
++ int readahead_blks, char *block_list,
++ unsigned short **block_p, unsigned int *bsize);
+static int squashfs_readpage(struct file *file, struct page *page);
+static int squashfs_readpage4K(struct file *file, struct page *page);
+static int squashfs_readdir(struct file *, void *, filldir_t);
-+static struct inode *squashfs_alloc_inode(struct super_block *sb);
-+static void squashfs_destroy_inode(struct inode *inode);
-+static int init_inodecache(void);
-+static void destroy_inodecache(void);
+static struct dentry *squashfs_lookup(struct inode *, struct dentry *,
+ struct nameidata *);
-+static int squashfs_read_inode(struct inode *i, squashfs_inode_t inode);
-+static long long read_blocklist(struct inode *inode, int index,
-+ int readahead_blks, char *block_list,
-+ unsigned short **block_p, unsigned int *bsize);
++static int squashfs_remount(struct super_block *s, int *flags, char *data);
++static void squashfs_put_super(struct super_block *);
+static int squashfs_get_sb(struct file_system_type *,int, const char *, void *,
+ struct vfsmount *);
-+static void vfs_read_inode(struct inode *i);
-+static struct dentry *squashfs_get_parent(struct dentry *child);
++static struct inode *squashfs_alloc_inode(struct super_block *sb);
++static void squashfs_destroy_inode(struct inode *inode);
++static int init_inodecache(void);
++static void destroy_inodecache(void);
+
+static struct file_system_type squashfs_fs_type = {
+ .owner = THIS_MODULE,
@@ -163,7 +154,7 @@
+ .fs_flags = FS_REQUIRES_DEV
+};
+
-+static unsigned char squashfs_filetype_table[] = {
++static const unsigned char squashfs_filetype_table[] = {
+ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
+};
+
@@ -172,6 +163,7 @@
+ .destroy_inode = squashfs_destroy_inode,
+ .statfs = squashfs_statfs,
+ .put_super = squashfs_put_super,
++ .remount_fs = squashfs_remount
+};
+
+static struct super_operations squashfs_export_super_ops = {
@@ -182,23 +174,23 @@
+ .read_inode = vfs_read_inode
+};
+
-+struct export_operations squashfs_export_ops = {
++static struct export_operations squashfs_export_ops = {
+ .get_parent = squashfs_get_parent
+};
+
-+SQSH_EXTERN struct address_space_operations squashfs_symlink_aops = {
++SQSH_EXTERN const struct address_space_operations squashfs_symlink_aops = {
+ .readpage = squashfs_symlink_readpage
+};
+
-+SQSH_EXTERN struct address_space_operations squashfs_aops = {
++SQSH_EXTERN const struct address_space_operations squashfs_aops = {
+ .readpage = squashfs_readpage
+};
+
-+SQSH_EXTERN struct address_space_operations squashfs_aops_4K = {
++SQSH_EXTERN const struct address_space_operations squashfs_aops_4K = {
+ .readpage = squashfs_readpage4K
+};
+
-+static struct file_operations squashfs_dir_ops = {
++static const struct file_operations squashfs_dir_ops = {
+ .read = generic_read_dir,
+ .readdir = squashfs_readdir
+};
@@ -342,7 +334,7 @@
+ * uncompress block
+ */
+
-+ down(&msblk->read_data_mutex);
++ mutex_lock(&msblk->read_data_mutex);
+
+ msblk->stream.next_out = buffer;
+ msblk->stream.avail_out = srclength;
@@ -395,7 +387,7 @@
+ goto release_mutex;
+ }
+ bytes = msblk->stream.total_out;
-+ up(&msblk->read_data_mutex);
++ mutex_unlock(&msblk->read_data_mutex);
+ } else {
+ int i;
+
@@ -423,7 +415,7 @@
+ return bytes;
+
+release_mutex:
-+ up(&msblk->read_data_mutex);
++ mutex_unlock(&msblk->read_data_mutex);
+
+block_release:
+ for (; k < b; k++)
@@ -451,7 +443,7 @@
+ if (msblk->block_cache[i].block == block)
+ break;
+
-+ down(&msblk->block_cache_mutex);
++ mutex_lock(&msblk->block_cache_mutex);
+
+ if (i == SQUASHFS_CACHED_BLKS) {
+ /* read inode header block */
@@ -468,7 +460,7 @@
+ init_waitqueue_entry(&wait, current);
+ add_wait_queue(&msblk->waitq, &wait);
+ set_current_state(TASK_UNINTERRUPTIBLE);
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+ schedule();
+ set_current_state(TASK_RUNNING);
+ remove_wait_queue(&msblk->waitq, &wait);
@@ -483,28 +475,28 @@
+ GFP_KERNEL))) {
+ ERROR("Failed to allocate cache"
+ "block\n");
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+ goto out;
+ }
+ }
+
+ msblk->block_cache[i].block = SQUASHFS_USED_BLK;
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+
+ msblk->block_cache[i].length = squashfs_read_data(s,
+ msblk->block_cache[i].data, block, 0, &next_index, SQUASHFS_METADATA_SIZE);
+ if (msblk->block_cache[i].length == 0) {
+ ERROR("Unable to read cache block [%llx:%x]\n",
+ block, offset);
-+ down(&msblk->block_cache_mutex);
++ mutex_lock(&msblk->block_cache_mutex);
+ msblk->block_cache[i].block = SQUASHFS_INVALID_BLK;
+ kfree(msblk->block_cache[i].data);
+ wake_up(&msblk->waitq);
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+ goto out;
+ }
+
-+ down(&msblk->block_cache_mutex);
++ mutex_lock(&msblk->block_cache_mutex);
+ wake_up(&msblk->waitq);
+ msblk->block_cache[i].block = block;
+ msblk->block_cache[i].next_index = next_index;
@@ -512,14 +504,14 @@
+ }
+
+ if (msblk->block_cache[i].block != block) {
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+ continue;
+ }
+
+ bytes = msblk->block_cache[i].length - offset;
+
+ if (bytes < 1) {
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+ goto out;
+ } else if (bytes >= length) {
+ if (buffer)
@@ -532,7 +524,7 @@
+ *next_block = block;
+ *next_offset = offset + length;
+ }
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+ goto finish;
+ } else {
+ if (buffer) {
@@ -541,7 +533,7 @@
+ buffer += bytes;
+ }
+ block = msblk->block_cache[i].next_index;
-+ up(&msblk->block_cache_mutex);
++ mutex_unlock(&msblk->block_cache_mutex);
+ length -= bytes;
+ offset = 0;
+ }
@@ -593,10 +585,10 @@
+SQSH_EXTERN void release_cached_fragment(struct squashfs_sb_info *msblk, struct
+ squashfs_fragment_cache *fragment)
+{
-+ down(&msblk->fragment_mutex);
++ mutex_lock(&msblk->fragment_mutex);
+ fragment->locked --;
+ wake_up(&msblk->fragment_wait_queue);
-+ up(&msblk->fragment_mutex);
++ mutex_unlock(&msblk->fragment_mutex);
+}
+
+
@@ -609,7 +601,7 @@
+ struct squashfs_super_block *sblk = &msblk->sblk;
+
+ while ( 1 ) {
-+ down(&msblk->fragment_mutex);
++ mutex_lock(&msblk->fragment_mutex);
+
+ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS &&
+ msblk->fragment[i].block != start_block; i++);
@@ -627,7 +619,7 @@
+ add_wait_queue(&msblk->fragment_wait_queue,
+ &wait);
+ set_current_state(TASK_UNINTERRUPTIBLE);
-+ up(&msblk->fragment_mutex);
++ mutex_unlock(&msblk->fragment_mutex);
+ schedule();
+ set_current_state(TASK_RUNNING);
+ remove_wait_queue(&msblk->fragment_wait_queue,
@@ -642,13 +634,13 @@
+ (SQUASHFS_FILE_MAX_SIZE))) {
+ ERROR("Failed to allocate fragment "
+ "cache block\n");
-+ up(&msblk->fragment_mutex);
++ mutex_unlock(&msblk->fragment_mutex);
+ goto out;
+ }
+
+ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
+ msblk->fragment[i].locked = 1;
-+ up(&msblk->fragment_mutex);
++ mutex_unlock(&msblk->fragment_mutex);
+
+ if (!(msblk->fragment[i].length = squashfs_read_data(s,
+ msblk->fragment[i].data,
@@ -656,20 +648,21 @@
+ ERROR("Unable to read fragment cache block "
+ "[%llx]\n", start_block);
+ msblk->fragment[i].locked = 0;
++ smp_mb();
+ goto out;
+ }
+
-+ down(&msblk->fragment_mutex);
++ mutex_lock(&msblk->fragment_mutex);
+ msblk->fragment[i].block = start_block;
+ TRACE("New fragment %d, start block %lld, locked %d\n",
+ i, msblk->fragment[i].block,
+ msblk->fragment[i].locked);
-+ up(&msblk->fragment_mutex);
++ mutex_unlock(&msblk->fragment_mutex);
+ break;
+ }
+
+ msblk->fragment[i].locked++;
-+ up(&msblk->fragment_mutex);
++ mutex_unlock(&msblk->fragment_mutex);
+ TRACE("Got fragment %d, start block %lld, locked %d\n", i,
+ msblk->fragment[i].block,
+ msblk->fragment[i].locked);
@@ -1225,11 +1218,11 @@
+ msblk->devblksize = sb_min_blocksize(s, BLOCK_SIZE);
+ msblk->devblksize_log2 = ffz(~msblk->devblksize);
+
-+ init_MUTEX(&msblk->read_data_mutex);
-+ init_MUTEX(&msblk->read_page_mutex);
-+ init_MUTEX(&msblk->block_cache_mutex);
-+ init_MUTEX(&msblk->fragment_mutex);
-+ init_MUTEX(&msblk->meta_index_mutex);
++ mutex_init(&msblk->read_data_mutex);
++ mutex_init(&msblk->read_page_mutex);
++ mutex_init(&msblk->block_cache_mutex);
++ mutex_init(&msblk->fragment_mutex);
++ mutex_init(&msblk->meta_index_mutex);
+
+ init_waitqueue_head(&msblk->waitq);
+ init_waitqueue_head(&msblk->fragment_wait_queue);
@@ -1486,7 +1479,7 @@
+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
+ int i;
+
-+ down(&msblk->meta_index_mutex);
++ mutex_lock(&msblk->meta_index_mutex);
+
+ TRACE("locate_meta_index: index %d, offset %d\n", index, offset);
+
@@ -1508,7 +1501,7 @@
+ meta->locked = 1;
+
+not_allocated:
-+ up(&msblk->meta_index_mutex);
++ mutex_unlock(&msblk->meta_index_mutex);
+
+ return meta;
+}
@@ -1520,7 +1513,7 @@
+ struct meta_index *meta = NULL;
+ int i;
+
-+ down(&msblk->meta_index_mutex);
++ mutex_lock(&msblk->meta_index_mutex);
+
+ TRACE("empty_meta_index: offset %d, skip %d\n", offset, skip);
+
@@ -1562,7 +1555,7 @@
+ meta->locked = 1;
+
+failed:
-+ up(&msblk->meta_index_mutex);
++ mutex_unlock(&msblk->meta_index_mutex);
+ return meta;
+}
+
@@ -1570,6 +1563,7 @@
+void release_meta_index(struct inode *inode, struct meta_index *meta)
+{
+ meta->locked = 0;
++ smp_mb();
+}
+
+
@@ -1782,13 +1776,13 @@
+ block_list, NULL, &bsize)) == 0)
+ goto skip_read;
+
-+ down(&msblk->read_page_mutex);
++ mutex_lock(&msblk->read_page_mutex);
+
+ if (!(bytes = squashfs_read_data(inode->i_sb, msblk->read_page,
+ block, bsize, NULL, sblk->block_size))) {
+ ERROR("Unable to read page, block %llx, size %x\n", block,
+ bsize);
-+ up(&msblk->read_page_mutex);
++ mutex_unlock(&msblk->read_page_mutex);
+ goto skip_read;
+ }
+ } else {
@@ -1844,7 +1838,7 @@
+ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
+ || index < (i_size_read(inode) >>
+ sblk->block_log))
-+ up(&msblk->read_page_mutex);
++ mutex_unlock(&msblk->read_page_mutex);
+ else
+ release_cached_fragment(msblk, fragment);
+
@@ -1897,7 +1891,7 @@
+ if(block == 0)
+ goto skip_read;
+
-+ down(&msblk->read_page_mutex);
++ mutex_lock(&msblk->read_page_mutex);
+ bytes = squashfs_read_data(inode->i_sb, msblk->read_page, block,
+ bsize, NULL, sblk->block_size);
+ if (bytes) {
@@ -1907,7 +1901,7 @@
+ } else
+ ERROR("Unable to read page, block %llx, size %x\n",
+ block, bsize);
-+ up(&msblk->read_page_mutex);
++ mutex_unlock(&msblk->read_page_mutex);
+ } else {
+ struct squashfs_fragment_cache *fragment =
+ get_cached_fragment(inode->i_sb,
@@ -2303,6 +2297,13 @@
+}
+
+
++static int squashfs_remount(struct super_block *s, int *flags, char *data)
++{
++ *flags |= MS_RDONLY;
++ return 0;
++}
++
++
+static void squashfs_put_super(struct super_block *s)
+{
+ int i;
@@ -2346,7 +2347,7 @@
+ if (err)
+ goto out;
+
-+ printk(KERN_INFO "squashfs: version 3.2 (2007/01/02) "
++ printk(KERN_INFO "squashfs: version 3.2-r2 (2007/01/15) "
+ "Phillip Lougher\n");
+
+ if ((err = register_filesystem(&squashfs_fs_type)))
@@ -2413,12 +2414,12 @@
+
+module_init(init_squashfs_fs);
+module_exit(exit_squashfs_fs);
-+MODULE_DESCRIPTION("squashfs 3.2, a compressed read-only filesystem");
++MODULE_DESCRIPTION("squashfs 3.2-r2, a compressed read-only filesystem");
+MODULE_AUTHOR("Phillip Lougher <phillip at lougher.org.uk>");
+MODULE_LICENSE("GPL");
-diff -Nurp -x .gitignore linux-2.6.20/fs/squashfs/Makefile linux-2.6.20-squashfs3.2/fs/squashfs/Makefile
+diff -x .gitignore -Nurp linux-2.6.20/fs/squashfs/Makefile linux-2.6.20-squashfs3.2-r2/fs/squashfs/Makefile
--- linux-2.6.20/fs/squashfs/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20-squashfs3.2/fs/squashfs/Makefile 2006-12-25 10:55:38.000000000 +0000
++++ linux-2.6.20-squashfs3.2-r2/fs/squashfs/Makefile 2007-01-12 00:06:09.000000000 +0000
@@ -0,0 +1,7 @@
+#
+# Makefile for the linux squashfs routines.
@@ -2427,10 +2428,10 @@
+obj-$(CONFIG_SQUASHFS) += squashfs.o
+squashfs-y += inode.o
+squashfs-y += squashfs2_0.o
-diff -Nurp -x .gitignore linux-2.6.20/fs/squashfs/squashfs2_0.c linux-2.6.20-squashfs3.2/fs/squashfs/squashfs2_0.c
+diff -x .gitignore -Nurp linux-2.6.20/fs/squashfs/squashfs2_0.c linux-2.6.20-squashfs3.2-r2/fs/squashfs/squashfs2_0.c
--- linux-2.6.20/fs/squashfs/squashfs2_0.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20-squashfs3.2/fs/squashfs/squashfs2_0.c 2006-12-31 19:26:39.000000000 +0000
-@@ -0,0 +1,757 @@
++++ linux-2.6.20-squashfs3.2-r2/fs/squashfs/squashfs2_0.c 2007-01-12 02:27:20.000000000 +0000
+@@ -0,0 +1,742 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+ *
@@ -2454,27 +2455,12 @@
+ * squashfs2_0.c
+ */
+
-+#include <linux/types.h>
+#include <linux/squashfs_fs.h>
+#include <linux/module.h>
-+#include <linux/errno.h>
-+#include <linux/slab.h>
+#include <linux/zlib.h>
+#include <linux/fs.h>
-+#include <linux/smp_lock.h>
-+#include <linux/slab.h>
+#include <linux/squashfs_fs_sb.h>
+#include <linux/squashfs_fs_i.h>
-+#include <linux/buffer_head.h>
-+#include <linux/vfs.h>
-+#include <linux/init.h>
-+#include <linux/dcache.h>
-+#include <linux/wait.h>
-+#include <linux/zlib.h>
-+#include <linux/blkdev.h>
-+#include <linux/vmalloc.h>
-+#include <asm/uaccess.h>
-+#include <asm/semaphore.h>
+
+#include "squashfs.h"
+static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir);
@@ -3188,9 +3174,9 @@
+
+ return 1;
+}
-diff -Nurp -x .gitignore linux-2.6.20/fs/squashfs/squashfs.h linux-2.6.20-squashfs3.2/fs/squashfs/squashfs.h
+diff -x .gitignore -Nurp linux-2.6.20/fs/squashfs/squashfs.h linux-2.6.20-squashfs3.2-r2/fs/squashfs/squashfs.h
--- linux-2.6.20/fs/squashfs/squashfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20-squashfs3.2/fs/squashfs/squashfs.h 2006-12-31 19:26:47.000000000 +0000
++++ linux-2.6.20-squashfs3.2-r2/fs/squashfs/squashfs.h 2007-01-12 01:42:11.000000000 +0000
@@ -0,0 +1,87 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
@@ -3254,9 +3240,9 @@
+ *s, long long start_block,
+ int length);
+extern struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode, unsigned int inode_number);
-+extern struct address_space_operations squashfs_symlink_aops;
-+extern struct address_space_operations squashfs_aops;
-+extern struct address_space_operations squashfs_aops_4K;
++extern const struct address_space_operations squashfs_symlink_aops;
++extern const struct address_space_operations squashfs_aops;
++extern const struct address_space_operations squashfs_aops_4K;
+extern struct inode_operations squashfs_dir_inode_ops;
+#else
+#define SQSH_EXTERN static
@@ -3279,9 +3265,9 @@
+ return 0;
+}
+#endif
-diff -Nurp -x .gitignore linux-2.6.20/include/linux/squashfs_fs.h linux-2.6.20-squashfs3.2/include/linux/squashfs_fs.h
+diff -x .gitignore -Nurp linux-2.6.20/include/linux/squashfs_fs.h linux-2.6.20-squashfs3.2-r2/include/linux/squashfs_fs.h
--- linux-2.6.20/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20-squashfs3.2/include/linux/squashfs_fs.h 2007-01-01 08:25:53.000000000 +0000
++++ linux-2.6.20-squashfs3.2-r2/include/linux/squashfs_fs.h 2007-01-12 00:06:09.000000000 +0000
@@ -0,0 +1,934 @@
+#ifndef SQUASHFS_FS
+#define SQUASHFS_FS
@@ -4217,9 +4203,9 @@
+
+#endif
+#endif
-diff -Nurp -x .gitignore linux-2.6.20/include/linux/squashfs_fs_i.h linux-2.6.20-squashfs3.2/include/linux/squashfs_fs_i.h
+diff -x .gitignore -Nurp linux-2.6.20/include/linux/squashfs_fs_i.h linux-2.6.20-squashfs3.2-r2/include/linux/squashfs_fs_i.h
--- linux-2.6.20/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20-squashfs3.2/include/linux/squashfs_fs_i.h 2006-12-31 19:27:17.000000000 +0000
++++ linux-2.6.20-squashfs3.2-r2/include/linux/squashfs_fs_i.h 2007-01-12 00:06:09.000000000 +0000
@@ -0,0 +1,45 @@
+#ifndef SQUASHFS_FS_I
+#define SQUASHFS_FS_I
@@ -4266,9 +4252,9 @@
+ struct inode vfs_inode;
+};
+#endif
-diff -Nurp -x .gitignore linux-2.6.20/include/linux/squashfs_fs_sb.h linux-2.6.20-squashfs3.2/include/linux/squashfs_fs_sb.h
+diff -x .gitignore -Nurp linux-2.6.20/include/linux/squashfs_fs_sb.h linux-2.6.20-squashfs3.2-r2/include/linux/squashfs_fs_sb.h
--- linux-2.6.20/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20-squashfs3.2/include/linux/squashfs_fs_sb.h 2006-12-31 19:27:28.000000000 +0000
++++ linux-2.6.20-squashfs3.2-r2/include/linux/squashfs_fs_sb.h 2007-01-12 01:23:47.000000000 +0000
@@ -0,0 +1,74 @@
+#ifndef SQUASHFS_FS_SB
+#define SQUASHFS_FS_SB
@@ -4326,11 +4312,11 @@
+ long long *fragment_index;
+ unsigned int *fragment_index_2;
+ char *read_page;
-+ struct semaphore read_data_mutex;
-+ struct semaphore read_page_mutex;
-+ struct semaphore block_cache_mutex;
-+ struct semaphore fragment_mutex;
-+ struct semaphore meta_index_mutex;
++ struct mutex read_data_mutex;
++ struct mutex read_page_mutex;
++ struct mutex block_cache_mutex;
++ struct mutex fragment_mutex;
++ struct mutex meta_index_mutex;
+ wait_queue_head_t waitq;
+ wait_queue_head_t fragment_wait_queue;
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/squashfs3.2-patch?r1=1.1.2.1&r2=1.1.2.1.2.1&f=u
More information about the pld-cvs-commit
mailing list