Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e7dd445 authored by Elliott Hughes's avatar Elliott Hughes
Browse files

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
parent 1a39a994
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -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
         * filesytsem due to an error, e2fsck is still run to do a full check
         * fix the filesystem.
         * fix the filesystem.
         */
         */
        errno = 0;
        ret = mount(blk_device, target, fs_type, tmpmnt_flags, tmpmnt_opts);
        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) {
        if (!ret) {
            int i;
            int i;
            for (i = 0; i < 5; 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?
                // Should we try rebooting if all attempts fail?
                int result = umount(target);
                int result = umount(target);
                if (result == 0) {
                if (result == 0) {
                    INFO("%s(): unmount(%s) succeeded\n", __func__, target);
                    break;
                    break;
                }
                }
                ERROR("%s(): umount(%s)=%d: %s\n", __func__, target, result, strerror(errno));
                ERROR("%s(): umount(%s)=%d: %s\n", __func__, target, result, strerror(errno));