All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Hazelton <dhazelton@enter.net>
To: Prakash Punnoor <prakash@punnoor.de>
Cc: dwmw2@infradead.org, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [Trivial Patch] Remove JFFS2 dependency on internal Zlib header
Date: Sat, 2 Jun 2007 21:46:12 -0400	[thread overview]
Message-ID: <200706022146.13083.dhazelton@enter.net> (raw)
In-Reply-To: <46620979.9020901@punnoor.de>

[-- Attachment #1: Type: text/plain, Size: 2283 bytes --]

On Saturday 02 June 2007 20:21:13 Prakash Punnoor wrote:
> Daniel Hazelton wrote:
> > 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)) {
>
> Why not
>
> #define PRESET_DICT 0x20
>
> instead of obfuscating the code with a magic number ? (Or name it
> differently if it clashes with something else...)
>
>
> Cheers,
>
> Prakash

Not a problem. This patch was just a result of a quick s/PRESET_DICT/0x20/p -  
I'll change the patch so there is a localized PRESET_DICT macro. 

I've attached an updated patch that does just that.

(Mark Adler suggested a second, more involved patch that would put the burdon 
of all the checking that JFFS2 is doing where it belongs, and already is done 
actually, zlib's inflate() )

DRH
 
diff --git a/fs/jffs2/compr_zlib.c b/fs/jffs2/compr_zlib.c
index 2b87fcc..f4519db 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"

@@ -29,6 +28,13 @@
        */
 #define STREAM_END_SPACE 12

+/*
+ * PRESET_DICT is set in the internal (aka: private) zlib header zutil.h
+ * the value - 0x20 - is defined in RFC 1950, so making a duplicate
+ * definition here to remove this code's dependency on that file is safe.
+ */
+#define PRESET_DICT 0x20
+
 static DEFINE_MUTEX(deflate_mutex);
 static DEFINE_MUTEX(inflate_mutex);
 static z_stream inf_strm, def_strm;

[-- Attachment #2: remove-jffs2-zutil.h-dependency.patch --]
[-- Type: text/x-diff, Size: 732 bytes --]

diff --git a/fs/jffs2/compr_zlib.c b/fs/jffs2/compr_zlib.c
index 2b87fcc..f4519db 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"
 
@@ -29,6 +28,13 @@
 	*/
 #define STREAM_END_SPACE 12
 
+/*
+ * PRESET_DICT is set in the internal (aka: private) zlib header zutil.h
+ * the value - 0x20 - is defined in RFC 1950, so making a duplicate
+ * definition here to remove this code's dependency on that file is safe.
+ */
+#define PRESET_DICT 0x20
+
 static DEFINE_MUTEX(deflate_mutex);
 static DEFINE_MUTEX(inflate_mutex);
 static z_stream inf_strm, def_strm;

  reply	other threads:[~2007-06-03  1:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-02 19:20 [Trivial Patch] Remove JFFS2 dependency on internal Zlib header Daniel Hazelton
2007-06-03  0:21 ` Prakash Punnoor
2007-06-03  1:46   ` Daniel Hazelton [this message]
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=200706022146.13083.dhazelton@enter.net \
    --to=dhazelton@enter.net \
    --cc=akpm@linux-foundation.org \
    --cc=dwmw2@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=prakash@punnoor.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.