1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-11 05:17:44 +03:00

shutdown: don't attempt read-only mounts in a container

This commit is contained in:
Lennart Poettering 2012-08-24 22:50:16 +02:00
parent 81270860a5
commit 024f268d63

View File

@ -34,6 +34,7 @@
#include "umount.h"
#include "path-util.h"
#include "util.h"
#include "virt.h"
typedef struct MountPoint {
char *path;
@ -548,11 +549,9 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) {
int umount_all(bool *changed) {
int r;
bool umount_changed;
LIST_HEAD(MountPoint, mp_list_head);
LIST_HEAD_INIT(MountPoint, mp_list_head);
r = mount_points_list_get(&mp_list_head);
if (r < 0)
goto end;
@ -572,7 +571,12 @@ int umount_all(bool *changed) {
if (r <= 0)
goto end;
r = mount_points_list_remount_read_only(&mp_list_head, changed);
/* If we are in a container, don't attempt to read-only mount
anything as that brings no real benefits, but might confuse
the host, as we remount the superblock here, not the bind
mound. */
if (detect_container(NULL) <= 0)
r = mount_points_list_remount_read_only(&mp_list_head, changed);
end:
mount_points_list_free(&mp_list_head);