chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
socket: properly serialize/desrialize mqueue fds
[elogind.git]
/
src
/
core
/
umount.c
diff --git
a/src/core/umount.c
b/src/core/umount.c
index e794057741832257b8c77ea140f0744e015c53b4..96232d38dba51c97e2a60f51d868051e8a6678da 100644
(file)
--- a/
src/core/umount.c
+++ b/
src/core/umount.c
@@
-433,19
+433,18
@@
static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
}
/* Skip / and /usr since we cannot unmount that
}
/* Skip / and /usr since we cannot unmount that
- * anyway, since we are running from it */
+ * anyway, since we are running from it. They have
+ * already been remounted ro. */
if (path_equal(m->path, "/")
#ifndef HAVE_SPLIT_USR
|| path_equal(m->path, "/usr")
#endif
if (path_equal(m->path, "/")
#ifndef HAVE_SPLIT_USR
|| path_equal(m->path, "/usr")
#endif
- ) {
- n_failed++;
+ )
continue;
continue;
- }
/* Trying to umount. Forcing to umount if busy (only for NFS mounts) */
/* 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) {
if (umount2(m->path, MNT_FORCE) == 0) {
- log_info("Unmounted %s.", m->path);
if (changed)
*changed = true;
if (changed)
*changed = true;
@@
-466,6
+465,7
@@
static int swap_points_list_off(MountPoint **head, bool *changed) {
assert(head);
LIST_FOREACH_SAFE(mount_point, m, n, *head) {
assert(head);
LIST_FOREACH_SAFE(mount_point, m, n, *head) {
+ log_info("Deactivating swap %s.", m->path);
if (swapoff(m->path) == 0) {
if (changed)
*changed = true;
if (swapoff(m->path) == 0) {
if (changed)
*changed = true;
@@
-501,14
+501,15
@@
static int loopback_points_list_detach(MountPoint **head, bool *changed) {
continue;
}
continue;
}
- if ((r = delete_loopback(m->path)) >= 0) {
-
+ log_info("Detaching loopback %s.", m->path);
+ r = delete_loopback(m->path);
+ if (r >= 0) {
if (r > 0 && changed)
*changed = true;
mount_point_free(head, m);
} else {
if (r > 0 && changed)
*changed = true;
mount_point_free(head, m);
} else {
- log_warning("Could not de
lete
loopback %s: %m", m->path);
+ log_warning("Could not de
tach
loopback %s: %m", m->path);
n_failed++;
}
}
n_failed++;
}
}
@@
-535,14
+536,15
@@
static int dm_points_list_detach(MountPoint **head, bool *changed) {
continue;
}
continue;
}
- if ((r = delete_dm(m->devnum)) >= 0) {
-
- if (r > 0 && changed)
+ log_info("Detaching 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 {
*changed = true;
mount_point_free(head, m);
} else {
- log_warning("Could not de
lete dm
%s: %m", m->path);
+ log_warning("Could not de
tach DM
%s: %m", m->path);
n_failed++;
}
}
n_failed++;
}
}