path-util: fix more path_is_mount e792e890f
fallout
This commit is contained in:
parent
2c0223282d
commit
da00518b3f
|
@ -587,10 +587,8 @@ static int automount_start(Unit *u) {
|
||||||
assert(a);
|
assert(a);
|
||||||
assert(a->state == AUTOMOUNT_DEAD || a->state == AUTOMOUNT_FAILED);
|
assert(a->state == AUTOMOUNT_DEAD || a->state == AUTOMOUNT_FAILED);
|
||||||
|
|
||||||
if (path_is_mount_point(a->where, false)) {
|
if (path_is_mount_point(a->where, false) > 0) {
|
||||||
log_unit_error(u->id,
|
log_unit_error(u->id, "Path %s is already a mount point, refusing start for %s", a->where, u->id);
|
||||||
"Path %s is already a mount point, refusing start for %s",
|
|
||||||
a->where, u->id);
|
|
||||||
return -EEXIST;
|
return -EEXIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -889,7 +889,7 @@ static int mount_all(const char *dest) {
|
||||||
return log_oom();
|
return log_oom();
|
||||||
|
|
||||||
t = path_is_mount_point(where, true);
|
t = path_is_mount_point(where, true);
|
||||||
if (t < 0) {
|
if (t < 0 && t != -ENOENT) {
|
||||||
log_error_errno(t, "Failed to detect whether %s is a mount point: %m", where);
|
log_error_errno(t, "Failed to detect whether %s is a mount point: %m", where);
|
||||||
|
|
||||||
if (r == 0)
|
if (r == 0)
|
||||||
|
@ -1028,7 +1028,7 @@ static int mount_cgroup_hierarchy(const char *dest, const char *controller, cons
|
||||||
to = strjoina(dest, "/sys/fs/cgroup/", hierarchy);
|
to = strjoina(dest, "/sys/fs/cgroup/", hierarchy);
|
||||||
|
|
||||||
r = path_is_mount_point(to, false);
|
r = path_is_mount_point(to, false);
|
||||||
if (r < 0)
|
if (r < 0 && r != -ENOENT)
|
||||||
return log_error_errno(r, "Failed to determine if %s is mounted already: %m", to);
|
return log_error_errno(r, "Failed to determine if %s is mounted already: %m", to);
|
||||||
if (r > 0)
|
if (r > 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -487,8 +487,10 @@ int cg_get_path(const char *controller, const char *path, const char *suffix, ch
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = path_is_mount_point("/sys/fs/cgroup", false);
|
r = path_is_mount_point("/sys/fs/cgroup", false);
|
||||||
if (r <= 0)
|
if (r < 0)
|
||||||
return r < 0 ? r : -ENOENT;
|
return r;
|
||||||
|
if (r == 0)
|
||||||
|
return -ENOENT;
|
||||||
|
|
||||||
/* Cache this to save a few stat()s */
|
/* Cache this to save a few stat()s */
|
||||||
good = true;
|
good = true;
|
||||||
|
|
|
@ -86,8 +86,14 @@ static void test_path(void) {
|
||||||
test_parent("/aa///file...", "/aa///");
|
test_parent("/aa///file...", "/aa///");
|
||||||
test_parent("file.../", NULL);
|
test_parent("file.../", NULL);
|
||||||
|
|
||||||
assert_se(path_is_mount_point("/", true));
|
assert_se(path_is_mount_point("/", true) > 0);
|
||||||
assert_se(path_is_mount_point("/", false));
|
assert_se(path_is_mount_point("/", false) > 0);
|
||||||
|
|
||||||
|
assert_se(path_is_mount_point("/proc", true) > 0);
|
||||||
|
assert_se(path_is_mount_point("/proc", false) > 0);
|
||||||
|
|
||||||
|
assert_se(path_is_mount_point("/sys", true) > 0);
|
||||||
|
assert_se(path_is_mount_point("/sys", false) > 0);
|
||||||
|
|
||||||
{
|
{
|
||||||
char p1[] = "aaa/bbb////ccc";
|
char p1[] = "aaa/bbb////ccc";
|
||||||
|
|
Loading…
Reference in a new issue