From: Daniel Hazelton <dhazelton@enter.net>
To: dwmw2@infradead.org
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Subject: [Trivial Patch] Remove JFFS2 dependency on internal Zlib header
Date: Sat, 2 Jun 2007 15:20:36 -0400 [thread overview]
Message-ID: <200706021520.36478.dhazelton@enter.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 1581 bytes --]
History:
During the discussion over the speed and stability of the proposed inclusion
of a stripped-down, minimized version of the LZO compression algorithm it was
noted that the way that patch handled separation of compression and
decompression could be used for zlib as well. Then it was noted that moving
the private zlib header 'zutil.h' to a combined zlib directory would break
JFFS2, which used it. On examining JFFS2 it became clear that the only thing
JFFS2 used the header for was a single constant. Since his code was involved,
Mark Adler was contacted and he stated that that constant - PRESET_DICT - was
part of the zlib standard and defined in RFC 1950. So, to remove the
dependency the simplest recourse is to replace PRESET_DICT with the 'magic
number' it represents.
Signed-off-by: Daniel Hazelton <dhazelton@enter.net>
DRH
diff --git a/fs/jffs2/compr_zlib.c b/fs/jffs2/compr_zlib.c
index 2b87fcc..9f1b935 100644
--- a/fs/jffs2/compr_zlib.c
+++ b/fs/jffs2/compr_zlib.c
@@ -16,7 +16,6 @@
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/zlib.h>
-#include <linux/zutil.h>
#include "nodelist.h"
#include "compr.h"
@@ -154,7 +153,7 @@ static int jffs2_zlib_decompress(unsigned char *data_in,
/* If it's deflate, and it's got no preset dictionary, then
we can tell zlib to skip the adler32 check. */
- if (srclen > 2 && !(data_in[1] & PRESET_DICT) &&
+ if (srclen > 2 && !(data_in[1] & 0x20) &&
((data_in[0] & 0x0f) == Z_DEFLATED) &&
!(((data_in[0]<<8) + data_in[1]) % 31)) {
[-- Attachment #2: remove-jffs2-zutil.h-dependency.patch --]
[-- Type: text/x-diff, Size: 694 bytes --]
diff --git a/fs/jffs2/compr_zlib.c b/fs/jffs2/compr_zlib.c
index 2b87fcc..9f1b935 100644
--- a/fs/jffs2/compr_zlib.c
+++ b/fs/jffs2/compr_zlib.c
@@ -16,7 +16,6 @@
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/zlib.h>
-#include <linux/zutil.h>
#include "nodelist.h"
#include "compr.h"
@@ -154,7 +153,7 @@ static int jffs2_zlib_decompress(unsigned char *data_in,
/* If it's deflate, and it's got no preset dictionary, then
we can tell zlib to skip the adler32 check. */
- if (srclen > 2 && !(data_in[1] & PRESET_DICT) &&
+ if (srclen > 2 && !(data_in[1] & 0x20) &&
((data_in[0] & 0x0f) == Z_DEFLATED) &&
!(((data_in[0]<<8) + data_in[1]) % 31)) {
next reply other threads:[~2007-06-02 19:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-02 19:20 Daniel Hazelton [this message]
2007-06-03 0:21 ` [Trivial Patch] Remove JFFS2 dependency on internal Zlib header Prakash Punnoor
2007-06-03 1:46 ` Daniel Hazelton
2007-06-03 1:50 ` [Trivial Patch] Remove JFFS2 dependency on internal Zlib header (take 2) Daniel Hazelton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200706021520.36478.dhazelton@enter.net \
--to=dhazelton@enter.net \
--cc=akpm@linux-foundation.org \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox