summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGeliang Tang <geliangtang@163.com>2016-02-18 22:04:22 +0800
committerKees Cook <keescook@chromium.org>2016-06-02 10:59:31 -0700
commit8cfc8ddc99df9509a46043b14af81f5c6a223eab (patch)
treefd5bb1b71a1c8418b672ccfa039babf84251b95a /include
parent235f6d157d43a761052e643b8799f86fdc87b47f (diff)
downloadop-kernel-dev-8cfc8ddc99df9509a46043b14af81f5c6a223eab.zip
op-kernel-dev-8cfc8ddc99df9509a46043b14af81f5c6a223eab.tar.gz
pstore: add lzo/lz4 compression support
Like zlib compression in pstore, this patch added lzo and lz4 compression support so that users can have more options and better compression ratio. The original code treats the compressed data together with the uncompressed ECC correction notice by using zlib decompress. The ECC correction notice is missing in the decompression process. The treatment also makes lzo and lz4 not working. So I treat them separately by using pstore_decompress() to treat the compressed data, and memcpy() to treat the uncompressed ECC correction notice. Signed-off-by: Geliang Tang <geliangtang@163.com> Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/pstore.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/pstore.h b/include/linux/pstore.h
index 831479f..899e95e 100644
--- a/include/linux/pstore.h
+++ b/include/linux/pstore.h
@@ -58,7 +58,8 @@ struct pstore_info {
int (*close)(struct pstore_info *psi);
ssize_t (*read)(u64 *id, enum pstore_type_id *type,
int *count, struct timespec *time, char **buf,
- bool *compressed, struct pstore_info *psi);
+ bool *compressed, ssize_t *ecc_notice_size,
+ struct pstore_info *psi);
int (*write)(enum pstore_type_id type,
enum kmsg_dump_reason reason, u64 *id,
unsigned int part, int count, bool compressed,
OpenPOWER on IntegriCloud