Signed-off-by: HATAYAMA Daisuke <[email protected]>
---

 makedumpfile.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/makedumpfile.c b/makedumpfile.c
index 1525b30..e42b07d 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -279,6 +279,22 @@ readpmem_kdump_compressed(unsigned long long paddr, void 
*bufptr, size_t size)
                }
                memcpy(bufptr, buf2 + page_offset, size);
 #endif
+#ifdef USESNAPPY
+       } else if ((pd.flags & DUMP_DH_COMPRESSED_SNAPPY)) {
+
+               ret = snappy_uncompressed_length(buf, pd.size, &retlen);
+               if (ret != SNAPPY_OK) {
+                       ERRMSG("Uncompress failed: %d\n", ret);
+                       goto error;
+               }
+
+               ret = snappy_uncompress(buf, pd.size, buf2, &retlen);
+               if ((ret != SNAPPY_OK) || (retlen != info->page_size)) {
+                       ERRMSG("Uncompress failed: %d\n", ret);
+                       goto error;
+               }
+               memcpy(bufptr, buf2 + page_offset, size);
+#endif
        } else
                memcpy(bufptr, buf + page_offset, size);
 

--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to