ed987cb954
(bnc#798620). - Update crypt-loop-file.patch to correctly detect crypto loop files (bnc#799514). - Add journalctl-remove-leftover-message.patch: remove debug message in systemctl. - Add job-avoid-recursion-when-cancelling.patch: prevent potential recursion when cancelling a service. - Add sysctl-parse-all-keys.patch: ensure sysctl file is fully parsed. - Add journal-fix-cutoff-max-date.patch: fix computation of cutoff max date for journal. - Add reword-rescue-mode-hints.patch: reword rescue prompt. - Add improve-overflow-checks.patch: improve time overflow checks. - Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour with symlinks. - Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure hostnamectl requires an argument when called with set-hostname option. - Add agetty-overrides-term.patch: pass correctly terminal type to agetty. - Add check-for-empty-strings-in-strto-conversions.patch: better check for empty strings in strto* conversions. - Add strv-cleanup-error-path-loops.patch: cleanup strv on error path. - Add cryptsetup-handle-plain.patch: correctly handle "plain" option in cryptsetup. - Add fstab-generator-improve-error-message.patch: improve error message in fstab-generator. - Add delta-accept-t-option.patch: accept -t option in OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=331
274 lines
11 KiB
Diff
274 lines
11 KiB
Diff
From 2569a5ce16638d99f1ebaaa7774d183496d8b8e8 Mon Sep 17 00:00:00 2001
|
|
From: Michal Schmidt <mschmidt@redhat.com>
|
|
Date: Fri, 7 Dec 2012 17:28:30 +0100
|
|
Subject: [PATCH] shutdown: downgrade a warning
|
|
|
|
All messages of the kind "not all done, %d left" are log_info, except
|
|
the one for DM devices. Make it info too.
|
|
---
|
|
src/core/shutdown.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/core/shutdown.c b/src/core/shutdown.c
|
|
index 4bb4b4d..192746a 100644
|
|
--- a/src/core/shutdown.c
|
|
+++ b/src/core/shutdown.c
|
|
@@ -233,7 +233,7 @@ int main(int argc, char *argv[]) {
|
|
if (r == 0)
|
|
need_dm_detach = false;
|
|
else if (r > 0)
|
|
- log_warning("Not all DM devices detached, %d left.", r);
|
|
+ log_info("Not all DM devices detached, %d left.", r);
|
|
else
|
|
log_error("Failed to detach DM devices: %s", strerror(-r));
|
|
}
|
|
--
|
|
1.7.10.4
|
|
|
|
From c678406681d32d56730b9e9c002d5500d7aa7f8b Mon Sep 17 00:00:00 2001
|
|
From: Michal Schmidt <mschmidt@redhat.com>
|
|
Date: Fri, 7 Dec 2012 17:34:21 +0100
|
|
Subject: [PATCH] umount: fix check for DM changed
|
|
|
|
delete_dm() returns 0 on success. The check for "r > 0" was likely
|
|
a copy&paste error from the loopback code where "r > 0" makes sense.
|
|
---
|
|
src/core/umount.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/core/umount.c b/src/core/umount.c
|
|
index f6c520e..8776807 100644
|
|
--- a/src/core/umount.c
|
|
+++ b/src/core/umount.c
|
|
@@ -536,7 +536,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) {
|
|
|
|
if ((r = delete_dm(m->devnum)) >= 0) {
|
|
|
|
- if (r > 0 && changed)
|
|
+ if (changed)
|
|
*changed = true;
|
|
|
|
mount_point_free(head, m);
|
|
--
|
|
1.7.10.4
|
|
|
|
From bce93b7ac7642426039863493694d8c12812e2a7 Mon Sep 17 00:00:00 2001
|
|
From: Michal Schmidt <mschmidt@redhat.com>
|
|
Date: Fri, 7 Dec 2012 17:44:50 +0100
|
|
Subject: [PATCH] shutdown, umount: logging improvements
|
|
|
|
In bugreports about hangs during the late shutdown we are often missing
|
|
important information - what were we trying to unmount/detach when it hung.
|
|
|
|
Instead of printing what we successfully unmounted, print what we are
|
|
going to unmount/detach. And add messages to mark the completion of
|
|
categories (mount/swap/loop/DM).
|
|
---
|
|
src/core/shutdown.c | 20 ++++++++++++--------
|
|
src/core/umount.c | 15 +++++++++------
|
|
2 files changed, 21 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/src/core/shutdown.c b/src/core/shutdown.c
|
|
index 192746a..6783008 100644
|
|
--- a/src/core/shutdown.c
|
|
+++ b/src/core/shutdown.c
|
|
@@ -197,9 +197,10 @@ int main(int argc, char *argv[]) {
|
|
if (need_umount) {
|
|
log_info("Unmounting file systems.");
|
|
r = umount_all(&changed);
|
|
- if (r == 0)
|
|
+ if (r == 0) {
|
|
need_umount = false;
|
|
- else if (r > 0)
|
|
+ log_info("All filesystems unmounted.");
|
|
+ } else if (r > 0)
|
|
log_info("Not all file systems unmounted, %d left.", r);
|
|
else
|
|
log_error("Failed to unmount file systems: %s", strerror(-r));
|
|
@@ -208,9 +209,10 @@ int main(int argc, char *argv[]) {
|
|
if (need_swapoff) {
|
|
log_info("Disabling swaps.");
|
|
r = swapoff_all(&changed);
|
|
- if (r == 0)
|
|
+ if (r == 0) {
|
|
need_swapoff = false;
|
|
- else if (r > 0)
|
|
+ log_info("All swaps disabled.");
|
|
+ } else if (r > 0)
|
|
log_info("Not all swaps are turned off, %d left.", r);
|
|
else
|
|
log_error("Failed to turn off swaps: %s", strerror(-r));
|
|
@@ -219,9 +221,10 @@ int main(int argc, char *argv[]) {
|
|
if (need_loop_detach) {
|
|
log_info("Detaching loop devices.");
|
|
r = loopback_detach_all(&changed);
|
|
- if (r == 0)
|
|
+ if (r == 0) {
|
|
need_loop_detach = false;
|
|
- else if (r > 0)
|
|
+ log_info("All loop devices detached.");
|
|
+ } else if (r > 0)
|
|
log_info("Not all loop devices detached, %d left.", r);
|
|
else
|
|
log_error("Failed to detach loop devices: %s", strerror(-r));
|
|
@@ -230,9 +233,10 @@ int main(int argc, char *argv[]) {
|
|
if (need_dm_detach) {
|
|
log_info("Detaching DM devices.");
|
|
r = dm_detach_all(&changed);
|
|
- if (r == 0)
|
|
+ if (r == 0) {
|
|
need_dm_detach = false;
|
|
- else if (r > 0)
|
|
+ log_info("All DM devices detached.");
|
|
+ } else if (r > 0)
|
|
log_info("Not all DM devices detached, %d left.", r);
|
|
else
|
|
log_error("Failed to detach DM devices: %s", strerror(-r));
|
|
diff --git a/src/core/umount.c b/src/core/umount.c
|
|
index 8776807..fd90d9f 100644
|
|
--- a/src/core/umount.c
|
|
+++ b/src/core/umount.c
|
|
@@ -443,8 +443,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
|
|
continue;
|
|
|
|
/* Trying to umount. Forcing to umount if busy (only for NFS mounts) */
|
|
+ log_info("Unmounting %s.", m->path);
|
|
if (umount2(m->path, MNT_FORCE) == 0) {
|
|
- log_info("Unmounted %s.", m->path);
|
|
if (changed)
|
|
*changed = true;
|
|
|
|
@@ -465,6 +465,7 @@ static int swap_points_list_off(MountPoint **head, bool *changed) {
|
|
assert(head);
|
|
|
|
LIST_FOREACH_SAFE(mount_point, m, n, *head) {
|
|
+ log_info("Disabling swap %s.", m->path);
|
|
if (swapoff(m->path) == 0) {
|
|
if (changed)
|
|
*changed = true;
|
|
@@ -500,8 +501,9 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) {
|
|
continue;
|
|
}
|
|
|
|
- if ((r = delete_loopback(m->path)) >= 0) {
|
|
-
|
|
+ log_info("Deleting loopback %s.", m->path);
|
|
+ r = delete_loopback(m->path);
|
|
+ if (r >= 0) {
|
|
if (r > 0 && changed)
|
|
*changed = true;
|
|
|
|
@@ -534,14 +536,15 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) {
|
|
continue;
|
|
}
|
|
|
|
- if ((r = delete_dm(m->devnum)) >= 0) {
|
|
-
|
|
+ log_info("Deleting DM %u:%u.", major(m->devnum), minor(m->devnum));
|
|
+ r = delete_dm(m->devnum);
|
|
+ if (r >= 0) {
|
|
if (changed)
|
|
*changed = true;
|
|
|
|
mount_point_free(head, m);
|
|
} else {
|
|
- log_warning("Could not delete dm %s: %m", m->path);
|
|
+ log_warning("Could not delete DM %s: %m", m->path);
|
|
n_failed++;
|
|
}
|
|
}
|
|
--
|
|
1.7.10.4
|
|
|
|
From 735e0712710a1dc26da0febafb91b242b2687f3f Mon Sep 17 00:00:00 2001
|
|
From: Michal Schmidt <mschmidt@redhat.com>
|
|
Date: Fri, 7 Dec 2012 18:02:43 +0100
|
|
Subject: [PATCH] shutdown, umount: use verbs consistently
|
|
|
|
Mounts are "unmounted".
|
|
Swaps are "deactivated", not "turned off" nor "disabled".
|
|
Loop and DM devices are "detached", not "deleted".
|
|
|
|
Especially the deleting sounded a bit scary.
|
|
---
|
|
src/core/shutdown.c | 8 ++++----
|
|
src/core/umount.c | 10 +++++-----
|
|
2 files changed, 9 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/src/core/shutdown.c b/src/core/shutdown.c
|
|
index 6783008..0b0e0c3 100644
|
|
--- a/src/core/shutdown.c
|
|
+++ b/src/core/shutdown.c
|
|
@@ -207,15 +207,15 @@ int main(int argc, char *argv[]) {
|
|
}
|
|
|
|
if (need_swapoff) {
|
|
- log_info("Disabling swaps.");
|
|
+ log_info("Deactivating swaps.");
|
|
r = swapoff_all(&changed);
|
|
if (r == 0) {
|
|
need_swapoff = false;
|
|
- log_info("All swaps disabled.");
|
|
+ log_info("All swaps deactivated.");
|
|
} else if (r > 0)
|
|
- log_info("Not all swaps are turned off, %d left.", r);
|
|
+ log_info("Not all swaps deactivated, %d left.", r);
|
|
else
|
|
- log_error("Failed to turn off swaps: %s", strerror(-r));
|
|
+ log_error("Failed to deactivate swaps: %s", strerror(-r));
|
|
}
|
|
|
|
if (need_loop_detach) {
|
|
diff --git a/src/core/umount.c b/src/core/umount.c
|
|
index fd90d9f..96232d3 100644
|
|
--- a/src/core/umount.c
|
|
+++ b/src/core/umount.c
|
|
@@ -465,7 +465,7 @@ static int swap_points_list_off(MountPoint **head, bool *changed) {
|
|
assert(head);
|
|
|
|
LIST_FOREACH_SAFE(mount_point, m, n, *head) {
|
|
- log_info("Disabling swap %s.", m->path);
|
|
+ log_info("Deactivating swap %s.", m->path);
|
|
if (swapoff(m->path) == 0) {
|
|
if (changed)
|
|
*changed = true;
|
|
@@ -501,7 +501,7 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) {
|
|
continue;
|
|
}
|
|
|
|
- log_info("Deleting loopback %s.", m->path);
|
|
+ log_info("Detaching loopback %s.", m->path);
|
|
r = delete_loopback(m->path);
|
|
if (r >= 0) {
|
|
if (r > 0 && changed)
|
|
@@ -509,7 +509,7 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) {
|
|
|
|
mount_point_free(head, m);
|
|
} else {
|
|
- log_warning("Could not delete loopback %s: %m", m->path);
|
|
+ log_warning("Could not detach loopback %s: %m", m->path);
|
|
n_failed++;
|
|
}
|
|
}
|
|
@@ -536,7 +536,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) {
|
|
continue;
|
|
}
|
|
|
|
- log_info("Deleting DM %u:%u.", major(m->devnum), minor(m->devnum));
|
|
+ log_info("Detaching DM %u:%u.", major(m->devnum), minor(m->devnum));
|
|
r = delete_dm(m->devnum);
|
|
if (r >= 0) {
|
|
if (changed)
|
|
@@ -544,7 +544,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) {
|
|
|
|
mount_point_free(head, m);
|
|
} else {
|
|
- log_warning("Could not delete DM %s: %m", m->path);
|
|
+ log_warning("Could not detach DM %s: %m", m->path);
|
|
n_failed++;
|
|
}
|
|
}
|
|
--
|
|
1.7.10.4
|
|
|