From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Wed, 15 Jun 2011 14:15:12 +0100 Subject: [Cluster-devel] [PATCH RHEL6] gfs2_edit: Fix savemeta compression for older zlibs In-Reply-To: <1308143402-28876-1-git-send-email-anprice@redhat.com> References: <1308143402-28876-1-git-send-email-anprice@redhat.com> Message-ID: <1308143712.2735.10.camel@menhir> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Looks good, Steve. On Wed, 2011-06-15 at 14:10 +0100, Andrew Price wrote: > gzdopen in zlib 1.2.3 parses the mode string in a different way to > subsequent versions and the mode string we use causes the older gzwrite > to fail with EBADF. This patch fixes the mode string so that the > gzwrites succeed with the old and new zlibs. > > rhbz#702313 > > Signed-off-by: Andrew Price > --- > gfs2/edit/savemeta.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c > index cb7e243..160277c 100644 > --- a/gfs2/edit/savemeta.c > +++ b/gfs2/edit/savemeta.c > @@ -209,7 +209,7 @@ static void warm_fuzzy_stuff(uint64_t wfsblock, int force) > static struct metafd savemetaopen(char *out_fn, int gziplevel) > { > struct metafd mfd; > - char gzmode[5] = "rwb9"; > + char gzmode[3] = "w9"; > char dft_fn[] = DFT_SAVE_FILE; > > if (!out_fn) { > @@ -232,7 +232,7 @@ static struct metafd savemetaopen(char *out_fn, int gziplevel) > > mfd.gziplevel = gziplevel; > if (gziplevel > 0) { > - gzmode[3] = '0' + gziplevel; > + gzmode[1] = '0' + gziplevel; > mfd.gzfd = gzdopen(mfd.fd, gzmode); > if (!mfd.gzfd) { > fprintf(stderr, "gzdopen error: %s\n", strerror(errno));