summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJianyong Wu <jianyong.wu@arm.com>2023-09-07 09:10:25 +0000
committerChristian Brauner <brauner@kernel.org>2023-10-19 11:02:46 +0200
commit84d2b696236c63836011f04d13d3f09ed47fa560 (patch)
tree9e54f2953279ec33b32ba366003a220e1fb4772c
parentddf9e2ff67a910acde1d000e76b7e31267599539 (diff)
downloadlinux-84d2b696236c63836011f04d13d3f09ed47fa560.tar.gz
linux-84d2b696236c63836011f04d13d3f09ed47fa560.tar.bz2
linux-84d2b696236c63836011f04d13d3f09ed47fa560.zip
init/mount: print pretty name of root device when panics
Given a wrong root device, current log may not give the pretty name which is useful to locate root cause. For example, there are 2 blk devs in a VM, /dev/vda which has 2 partitials /dev/vda1 and /dev/vda2 and /dev/vdb which is blank. /dev/vda2 is the right root dev. When set "root=/dev/vdb", we get error log: [ 0.635575] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(254,16) It's not straightforward to find out the root cause as there is lack of the root devive name therefore hard for people to get those info from the device number, in the example, (254,16). It is more comprehensive way to hint the root cause if pretty name is given here, like: [ 0.559887] Kernel panic - not syncing: VFS: Unable to mount root fs on "/dev/vdb" or unknown-block(254,16) Signed-off-by: Jianyong Wu <jianyong.wu@arm.com> Message-Id: <20230907091025.3436878-1-jianyong.wu@arm.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--init/do_mounts.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 5dfd30b13f48..5fdef94f0864 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -244,7 +244,7 @@ retry:
for (i = 0, p = fs_names; i < num_fs; i++, p += strlen(p)+1)
printk(" %s", p);
printk("\n");
- panic("VFS: Unable to mount root fs on %s", b);
+ panic("VFS: Unable to mount root fs on \"%s\" or %s", pretty_name, b);
out:
put_page(page);
}