|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From e8c8ddccfc63574069c30b7e75f0ccfd5b03eab9 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From: Tom Gundersen <teg@jklm.no>
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Date: Mon, 29 Sep 2014 13:20:54 +0200
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Subject: [PATCH] nspawn: log when tearing down of loop device fails
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
src/nspawn/nspawn.c | 13 ++++++++++---
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
1 file changed, 10 insertions(+), 3 deletions(-)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
index 4c1cfabca4..34436b82a2 100644
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
--- a/src/nspawn/nspawn.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+++ b/src/nspawn/nspawn.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
@@ -2607,20 +2607,27 @@ static int mount_devices(
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
static void loop_remove(int nr, int *image_fd) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
_cleanup_close_ int control = -1;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ int r;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
if (nr < 0)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
return;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
if (image_fd && *image_fd >= 0) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
- ioctl(*image_fd, LOOP_CLR_FD);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ r = ioctl(*image_fd, LOOP_CLR_FD);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ if (r < 0)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ log_warning("Failed to close loop image: %m");
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
*image_fd = safe_close(*image_fd);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
control = open("/dev/loop-control", O_RDWR|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
- if (control < 0)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ if (control < 0) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ log_warning("Failed to open /dev/loop-control: %m");
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
return;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ }
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
- ioctl(control, LOOP_CTL_REMOVE, nr);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ r = ioctl(control, LOOP_CTL_REMOVE, nr);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ if (r < 0)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ log_warning("Failed to remove loop %d: %m", nr);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
static int spawn_getent(const char *database, const char *key, pid_t *rpid) {
|