diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2009-01-12 17:24:04 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2009-01-12 17:34:31 -0500 |
commit | 23a22d57a8962479ca630c9542e62d6f86fdf927 (patch) | |
tree | 5839f8f3125a7ddf90eb6c679908206ba464b7af /init/do_mounts_rd.c | |
parent | 736f93236ce786d1bcf09ad4dcb38a360d35ea1b (diff) |
bzip2/lzma: comprehensible error messages for missing decompressor
Instead of failing to identify a compressed image with a decompressor
that we don't have compiled in, identify it and fail with a
comprehensible panic message.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'init/do_mounts_rd.c')
-rw-r--r-- | init/do_mounts_rd.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c index a015e267fd17..91d0cfca5071 100644 --- a/init/do_mounts_rd.c +++ b/init/do_mounts_rd.c | |||
@@ -79,9 +79,12 @@ identify_ramdisk_image(int fd, int start_block, decompress_fn *decompressor) | |||
79 | sys_read(fd, buf, size); | 79 | sys_read(fd, buf, size); |
80 | 80 | ||
81 | *decompressor = decompress_method(buf, size, &compress_name); | 81 | *decompressor = decompress_method(buf, size, &compress_name); |
82 | if (*decompressor) { | 82 | if (compress_name) { |
83 | printk(KERN_NOTICE "RAMDISK: %s image found at block %d\n", | 83 | printk(KERN_NOTICE "RAMDISK: %s image found at block %d\n", |
84 | compress_name, start_block); | 84 | compress_name, start_block); |
85 | if (!*decompressor) | ||
86 | printk(KERN_CRIT "RAMDISK: %s decompressor not configured!\n", | ||
87 | compress_name); | ||
85 | nblocks = 0; | 88 | nblocks = 0; |
86 | goto done; | 89 | goto done; |
87 | } | 90 | } |