grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] support for xz compression format


From: Szymon Janc
Subject: [PATCH] support for xz compression format
Date: Tue, 26 Jan 2010 23:55:55 +0100
User-agent: KMail/1.12.4 (Linux/2.6.32-trunk-686; KDE/4.3.4; i686; ; )

Hello,

Attached patch adds support for xz compressed files. Interface is similar to 
gzio: grub_xzio_open() and grub_xzfile_open(). Files: xzio.h and xzio.c

Decompression algorithm is imported (no source code changes) from 
http://tukaani.org/xz/embedded.html and is located in lib/xzembed directory
(files xz_* except xz_wrap.h which is a glue header)

XZ embedded supports only crc32 integration check so if You want to test it
use  `xz --check=crc32` to compress,  It also supports BCJ filters (not enabled 
with this patch) so it is possible to get extra few % compression ratio with 
executables.

known issues:
- decoder dictionary size is hardcoded, discovery at runtime would be better
  (it's on my TODO list)
- grub_file_seek() will break reading (not a big deal, xz streams are not
 seekable afterall, if needed should be possible to implement but will cause 
read performance penatly)


Suggestions and comments are welcome :-)


-- 
Szymon K. Janc
address@hidden // GG: 1383435

Attachment: xzio.diff.bz2
Description: application/bzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]