chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tmpfiles: separate a generic item glob processing function
[elogind.git]
/
src
/
shutdown.c
diff --git
a/src/shutdown.c
b/src/shutdown.c
index 6714927f86391d2e95013bc09990364b79e85cc0..11213f9d595a288c57e3d803d3ed8d21ff16a115 100644
(file)
--- a/
src/shutdown.c
+++ b/
src/shutdown.c
@@
-41,6
+41,7
@@
#include "log.h"
#include "umount.h"
#include "util.h"
#include "log.h"
#include "umount.h"
#include "util.h"
+#include "virt.h"
#define TIMEOUT_USEC (5 * USEC_PER_SEC)
#define FINALIZE_ATTEMPTS 50
#define TIMEOUT_USEC (5 * USEC_PER_SEC)
#define FINALIZE_ATTEMPTS 50
@@
-295,6
+296,8
@@
int main(int argc, char *argv[]) {
log_set_target(LOG_TARGET_CONSOLE); /* syslog will die if not gone yet */
log_open();
log_set_target(LOG_TARGET_CONSOLE); /* syslog will die if not gone yet */
log_open();
+ umask(0022);
+
if (getpid() != 1) {
log_error("Not executed by init (pid 1).");
r = -EPERM;
if (getpid() != 1) {
log_error("Not executed by init (pid 1).");
r = -EPERM;
@@
-384,9
+387,12
@@
int main(int argc, char *argv[]) {
log_error("Failed to detach DM devices: %s", strerror(-r));
}
log_error("Failed to detach DM devices: %s", strerror(-r));
}
- if (!need_umount && !need_swapoff && !need_loop_detach && !need_dm_detach)
+ if (!need_umount && !need_swapoff && !need_loop_detach && !need_dm_detach) {
+ if (retries > 0)
+ log_info("All filesystems, swaps, loop devices, DM devices detached.");
/* Yay, done */
break;
/* Yay, done */
break;
+ }
/* If in this iteration we didn't manage to
* unmount/deactivate anything, we either kill more
/* If in this iteration we didn't manage to
* unmount/deactivate anything, we either kill more