initramfs: debug detected compression method
authorDaniel M. Weeks <dan@danweeks.net>
Mon, 7 Apr 2014 22:39:16 +0000 (15:39 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 7 Apr 2014 23:36:11 +0000 (16:36 -0700)
This can greatly aid in narrowing down the real source of initramfs
problems such as failures related to the compression of the in-kernel
initramfs when an external initramfs is in use as well.  Existing errors
are ambiguous as to which initramfs is a problem and why.

[akpm@linux-foundation.org: use pr_debug()]
Signed-off-by: Daniel M. Weeks <dan@danweeks.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
init/initramfs.c
lib/decompress.c

index 93b61396756bcdddd9c38f9967cb0494fc580d7e..a8497fab1c3d64950370fb54401493e9eeac0621 100644 (file)
@@ -455,6 +455,7 @@ static char * __init unpack_to_rootfs(char *buf, unsigned len)
                }
                this_header = 0;
                decompress = decompress_method(buf, len, &compress_name);
+               pr_debug("Detected %s compressed data\n", compress_name);
                if (decompress) {
                        res = decompress(buf, len, NULL, flush_buffer, NULL,
                                   &my_inptr, error);
index 4d1cd0397aab0d9857f7a82f528c72946b520f87..86069d74c062d17ec094f44754ab197483bf910e 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/types.h>
 #include <linux/string.h>
 #include <linux/init.h>
+#include <linux/printk.h>
 
 #ifndef CONFIG_DECOMPRESS_GZIP
 # define gunzip NULL
@@ -61,6 +62,8 @@ decompress_fn __init decompress_method(const unsigned char *inbuf, int len,
        if (len < 2)
                return NULL;    /* Need at least this much... */
 
+       pr_debug("Compressed data magic: %#.2x %#.2x\n", inbuf[0], inbuf[1]);
+
        for (cf = compressed_formats; cf->name; cf++) {
                if (!memcmp(inbuf, cf->magic, 2))
                        break;