git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
fs
/
jffs2
/
compr_zlib.c
diff --git
a/fs/jffs2/compr_zlib.c
b/fs/jffs2/compr_zlib.c
index
3681d07
..
4db8be8
100644
(file)
--- a/
fs/jffs2/compr_zlib.c
+++ b/
fs/jffs2/compr_zlib.c
@@
-15,6
+15,7
@@
#error "The userspace support got too messy and was removed. Update your mkfs.jffs2"
#endif
#error "The userspace support got too messy and was removed. Update your mkfs.jffs2"
#endif
+#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/slab.h>
@@
-32,14
+33,13
@@
*/
#define STREAM_END_SPACE 12
*/
#define STREAM_END_SPACE 12
-static DE
FINE_MUTEX(deflate_mutex
);
-static DE
FINE_MUTEX(inflate_mutex
);
+static DE
CLARE_MUTEX(deflate_sem
);
+static DE
CLARE_MUTEX(inflate_sem
);
static z_stream inf_strm, def_strm;
#ifdef __KERNEL__ /* Linux-only */
#include <linux/vmalloc.h>
#include <linux/init.h>
static z_stream inf_strm, def_strm;
#ifdef __KERNEL__ /* Linux-only */
#include <linux/vmalloc.h>
#include <linux/init.h>
-#include <linux/mutex.h>
static int __init alloc_workspaces(void)
{
static int __init alloc_workspaces(void)
{
@@
-79,11
+79,11
@@
static int jffs2_zlib_compress(unsigned char *data_in,
if (*dstlen <= STREAM_END_SPACE)
return -1;
if (*dstlen <= STREAM_END_SPACE)
return -1;
-
mutex_lock(&deflate_mutex
);
+
down(&deflate_sem
);
if (Z_OK != zlib_deflateInit(&def_strm, 3)) {
printk(KERN_WARNING "deflateInit failed\n");
if (Z_OK != zlib_deflateInit(&def_strm, 3)) {
printk(KERN_WARNING "deflateInit failed\n");
-
mutex_unlock(&deflate_mutex
);
+
up(&deflate_sem
);
return -1;
}
return -1;
}
@@
-104,7
+104,7
@@
static int jffs2_zlib_compress(unsigned char *data_in,
if (ret != Z_OK) {
D1(printk(KERN_DEBUG "deflate in loop returned %d\n", ret));
zlib_deflateEnd(&def_strm);
if (ret != Z_OK) {
D1(printk(KERN_DEBUG "deflate in loop returned %d\n", ret));
zlib_deflateEnd(&def_strm);
-
mutex_unlock(&deflate_mutex
);
+
up(&deflate_sem
);
return -1;
}
}
return -1;
}
}
@@
-133,7
+133,7
@@
static int jffs2_zlib_compress(unsigned char *data_in,
*sourcelen = def_strm.total_in;
ret = 0;
out:
*sourcelen = def_strm.total_in;
ret = 0;
out:
-
mutex_unlock(&deflate_mutex
);
+
up(&deflate_sem
);
return ret;
}
return ret;
}
@@
-145,7
+145,7
@@
static int jffs2_zlib_decompress(unsigned char *data_in,
int ret;
int wbits = MAX_WBITS;
int ret;
int wbits = MAX_WBITS;
-
mutex_lock(&inflate_mutex
);
+
down(&inflate_sem
);
inf_strm.next_in = data_in;
inf_strm.avail_in = srclen;
inf_strm.next_in = data_in;
inf_strm.avail_in = srclen;
@@
-173,7
+173,7
@@
static int jffs2_zlib_decompress(unsigned char *data_in,
if (Z_OK != zlib_inflateInit2(&inf_strm, wbits)) {
printk(KERN_WARNING "inflateInit failed\n");
if (Z_OK != zlib_inflateInit2(&inf_strm, wbits)) {
printk(KERN_WARNING "inflateInit failed\n");
-
mutex_unlock(&inflate_mutex
);
+
up(&inflate_sem
);
return 1;
}
return 1;
}
@@
-183,7
+183,7
@@
static int jffs2_zlib_decompress(unsigned char *data_in,
printk(KERN_NOTICE "inflate returned %d\n", ret);
}
zlib_inflateEnd(&inf_strm);
printk(KERN_NOTICE "inflate returned %d\n", ret);
}
zlib_inflateEnd(&inf_strm);
-
mutex_unlock(&inflate_mutex
);
+
up(&inflate_sem
);
return 0;
}
return 0;
}