[PATCH 07/11] makedumpfile: Add single thread zstd uncompression processing
Tao Liu
ltao at redhat.com
Fri Sep 10 03:33:14 PDT 2021
Signed-off-by: Tao Liu <ltao at redhat.com>
Signed-off-by: Coiby Xu <coxu at redhat.com>
---
makedumpfile.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/makedumpfile.c b/makedumpfile.c
index af21a84..e70d882 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -832,7 +832,7 @@ readpage_kdump_compressed(unsigned long long paddr, void *bufptr)
* Read page data
*/
rdbuf = pd.flags & (DUMP_DH_COMPRESSED_ZLIB | DUMP_DH_COMPRESSED_LZO |
- DUMP_DH_COMPRESSED_SNAPPY) ? buf : bufptr;
+ DUMP_DH_COMPRESSED_SNAPPY | DUMP_DH_COMPRESSED_ZSTD) ? buf : bufptr;
if (read(info->fd_memory, rdbuf, pd.size) != pd.size) {
ERRMSG("Can't read %s. %s\n",
info->name_memory, strerror(errno));
@@ -873,6 +873,14 @@ readpage_kdump_compressed(unsigned long long paddr, void *bufptr)
ERRMSG("Uncompress failed: %d\n", ret);
return FALSE;
}
+#endif
+#ifdef USEZSTD
+ } else if ((pd.flags & DUMP_DH_COMPRESSED_ZSTD)) {
+ ret = ZSTD_decompress(bufptr, info->page_size, buf, pd.size);
+ if (ZSTD_isError(ret) || (ret != info->page_size)) {
+ ERRMSG("Uncompress failed: %d\n", ret);
+ return FALSE;
+ }
#endif
}
--
2.29.2
More information about the kexec
mailing list