return r;
if (arg_info.efi)
- clear_efi_hibernate_location_and_warn();
+ (void) clear_efi_hibernate_location_and_warn();
}
if (stat(arg_info.device, &st) < 0)
return 0;
}
-void clear_efi_hibernate_location_and_warn(void) {
+int clear_efi_hibernate_location_and_warn(void) {
int r;
if (!is_efi_boot())
- return;
+ return 0;
r = efi_set_variable(EFI_SYSTEMD_VARIABLE(HibernateLocation), NULL, 0);
+ if (r == -ENOENT)
+ return 0;
if (r < 0)
- log_warning_errno(r, "Failed to clear EFI variable HibernateLocation, ignoring: %m");
+ return log_warning_errno(r, "Failed to clear EFI variable HibernateLocation: %m");
+
+ return 1;
}
int write_resume_config(dev_t devno, uint64_t offset, const char *device);
-void clear_efi_hibernate_location_and_warn(void);
+int clear_efi_hibernate_location_and_warn(void);
/* Only for test-fiemap */
int read_fiemap(int fd, struct fiemap **ret);
fail:
if (SLEEP_OPERATION_IS_HIBERNATION(operation))
- clear_efi_hibernate_location_and_warn();
+ (void) clear_efi_hibernate_location_and_warn();
return r;
}