From 5e7dd4454f066f5d2d138f4f8bb8739245b29bf2 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 24 Apr 2015 11:05:48 -0700 Subject: [PATCH] Improve bad error reporting seen in shamu SELinux boot failures. Explain why mount failed, and explicitly say that the umount fixed it. Change-Id: I13b0927a36517f2fc9f9580945ba6ebefc4882df --- fs_mgr/fs_mgr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs_mgr/fs_mgr.c b/fs_mgr/fs_mgr.c index 273a2ec0f..47ea9aa50 100644 --- a/fs_mgr/fs_mgr.c +++ b/fs_mgr/fs_mgr.c @@ -117,8 +117,10 @@ static void check_fs(char *blk_device, char *fs_type, char *target) * filesytsem due to an error, e2fsck is still run to do a full check * fix the filesystem. */ + errno = 0; ret = mount(blk_device, target, fs_type, tmpmnt_flags, tmpmnt_opts); - INFO("%s(): mount(%s,%s,%s)=%d\n", __func__, blk_device, target, fs_type, ret); + INFO("%s(): mount(%s,%s,%s)=%d: %s\n", + __func__, blk_device, target, fs_type, ret, strerror(errno)); if (!ret) { int i; for (i = 0; i < 5; i++) { @@ -126,6 +128,7 @@ static void check_fs(char *blk_device, char *fs_type, char *target) // Should we try rebooting if all attempts fail? int result = umount(target); if (result == 0) { + INFO("%s(): unmount(%s) succeeded\n", __func__, target); break; } ERROR("%s(): umount(%s)=%d: %s\n", __func__, target, result, strerror(errno));