Signed-off-by: Tao Liu <l...@redhat.com>
Signed-off-by: Coiby Xu <c...@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


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to