]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
hibernate-resume: restore full message if resume fails
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 1 Apr 2025 08:49:12 +0000 (10:49 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 1 Apr 2025 09:25:32 +0000 (11:25 +0200)
We had a INFO message before 760e99bb52dd132aeab14802c9ed2889471e9cdf. Logging
at INFO level made sense back when we didn't have the EFI variable and people
would set resume= on the kernel command line. Nowadays, if we have the
hibernation info, then we expect it to be accurate. Log at WARN level if we
have the EFI variable and the resume fails for any reason, and at INFO
otherwise.

OTOH, we already print errors immediately when that happens, and if the resume
failed in the kernel, the kernel should log on its own. So just use WARN, not
ERR.

src/hibernate-resume/hibernate-resume.c

index c6494b99a91582b5d90d5e90fc6517144ff4fc73..91b98b4f87726047d291489463136bab9772423b 100644 (file)
@@ -172,11 +172,10 @@ static int run(int argc, char *argv[]) {
 
         /* The write shall not return if a resume takes place. */
         r = write_resume_config(st.st_rdev, arg_info.offset, arg_info.device);
-        log_full_errno(r < 0 ? LOG_ERR : LOG_DEBUG,
+        log_full_errno(r < 0 || arg_info.efi ? LOG_WARNING : LOG_INFO,
                        r < 0 ? r : SYNTHETIC_ERRNO(ENOENT),
                        "Unable to resume from device '%s' (" DEVNUM_FORMAT_STR ") offset %" PRIu64 ", continuing boot process.",
                        arg_info.device, DEVNUM_FORMAT_VAL(st.st_rdev), arg_info.offset);
-
         return r;
 }