X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fumount.c;h=a5a215b2b55847aff7d6870ea9fa96b868169c45;hp=71ad4b623d9ddcff8ef430cd72c5b4e7eea33a17;hb=7c49259fc8f63ade6cb212a43477d7030aaaf423;hpb=d94117a93c0a8431de5c765f21a97f6eb32580da diff --git a/src/core/umount.c b/src/core/umount.c index 71ad4b623..a5a215b2b 100644 --- a/src/core/umount.c +++ b/src/core/umount.c @@ -38,7 +38,6 @@ typedef struct MountPoint { char *path; dev_t devnum; - bool skip_ro; LIST_FIELDS (struct MountPoint, mount_point); } MountPoint; @@ -73,8 +72,6 @@ static int mount_points_list_get(MountPoint **head) { for (i = 1;; i++) { int k; MountPoint *m; - char *root; - bool skip_ro; path = p = NULL; @@ -82,7 +79,7 @@ static int mount_points_list_get(MountPoint **head) { "%*s " /* (1) mount id */ "%*s " /* (2) parent id */ "%*s " /* (3) major:minor */ - "%ms " /* (4) root */ + "%*s " /* (4) root */ "%ms " /* (5) mount point */ "%*s" /* (6) mount options */ "%*[^-]" /* (7) optional fields */ @@ -91,8 +88,7 @@ static int mount_points_list_get(MountPoint **head) { "%*s" /* (10) mount source */ "%*s" /* (11) mount options 2 */ "%*[^\n]", /* some rubbish at the end */ - &root, - &path)) != 2) { + &path)) != 1) { if (k == EOF) break; @@ -102,11 +98,6 @@ static int mount_points_list_get(MountPoint **head) { continue; } - /* If we encounter a bind mount, don't try to remount - * the source dir too early */ - skip_ro = !streq(root, "/"); - free(root); - p = cunescape(path); free(path); @@ -132,7 +123,6 @@ static int mount_points_list_get(MountPoint **head) { } m->path = p; - m->skip_ro = skip_ro; LIST_PREPEND(MountPoint, mount_point, *head, m); } @@ -449,11 +439,6 @@ static int mount_points_list_remount_read_only(MountPoint **head, bool *changed) LIST_FOREACH_SAFE(mount_point, m, n, *head) { - if (m->skip_ro) { - n_failed++; - continue; - } - /* Trying to remount read-only */ if (mount(NULL, m->path, NULL, MS_MGC_VAL|MS_REMOUNT|MS_RDONLY, NULL) == 0) { if (changed)