[Crash-utility] [PATCH 0/3] crash: Add Snappy Compression Support

Dave Anderson anderson at redhat.com
Tue Jul 3 14:39:32 UTC 2012



----- Original Message -----
> This patch series add snappy compression support for crash utility,
> applied on top of v6.0.8.
> 
> snappy is fast compressoin algorhythm like lzo, but it's more
> optimized than lzo on x86 machines and some other archs.
> 
> A lot of benchmark is available on the web. Here I only point at my
> benchmark I posted a few weeks ago,
> 
> - http://lists.infradead.org/pipermail/kexec/2012-June/006425.html
> 
> where snappy shows mostly as good performance as simple copying on
> the worst case that input data increases its data size during
> compression; this means we can use snappy with mostly NO risk.
> 
> How to get snappy libraries:
> 
> 1) Use yum framework to get snappy and snappy-devel packages, or
> 
> 2) Visit official website: http://code.google.com/p/snappy/,
> download snappy-<version>.tar.gz and then build it.
> 
> How to build crash utility with snappy support:
> 
> 1) Put -DSNAPPY in CFLAGS.extra file and put -lsnappy in LDFRAGS.extra file.
> 
> 2) Do make as always.

The patch is certainly safe enough to accept for crash-6.0.9.

I tried to do a compile-test, but after doing a "yum install snappy" on 
a RHEL5 machine, where it grabbed the package from an EPEL repository
since it's not a supported RHEL5 (or RHEL6) package, I see the i386 and
x86_64 packages:

  $ rpm -qa | grep snappy
  snappy-1.0.5-1.el5
  snappy-1.0.5-1.el5
  $

And its libraries:

  $ ls /usr/lib64/*snappy* /usr/lib/*snappy*
  /usr/lib64/libsnappy.so.1@  /usr/lib64/libsnappy.so.1.1.3*  /usr/lib/libsnappy.so.1@  /usr/lib/libsnappy.so.1.1.3*
  $

But for whatever reason, there's no /usr/include/snappy-c.h file:

  $ find /usr/include -name "snappy*"
  $  

And so the build fails:   

  $ make
  TARGET: X86_64
   CRASH: 6.0.9rc2
     GDB: 7.3.1

  cc -c -g -DX86_64 -DSNAPPY -DGDB_7_3_1  build_data.c -Wall -O2 -Wstrict-prototypes -Wmissing-prototypes -fstack-protector 
  cc -c -g -DX86_64 -DSNAPPY -DGDB_7_3_1  main.c -Wall -O2 -Wstrict-prototypes -Wmissing-prototypes -fstack-protector  
  In file included from main.c:18:
  defs.h:55:22: error: snappy-c.h: No such file or directory
  make[3]: *** [main.o] Error 1
  make[2]: *** [gdb] Error 2
  make[1]: *** [gdb_merge] Error 2
  make: *** [all] Error 2
  $ 

Although I do see the header file in the upstream snappy-1.0.5.tar.gz package.

Anyway, the patch is queued for crash-6.0.9.

Thanks,
  Dave




More information about the Crash-utility mailing list