diff --git a/src/core/namespace.c b/src/core/namespace.c index d13d57f11aa..e1a88f2455e 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c @@ -526,6 +526,8 @@ static int append_extensions( &pick_filter_image_raw, PICK_ARCHITECTURE|PICK_TRIES, &result); + if (r == -ENOENT && m->ignore_enoent) + continue; if (r < 0) return r; if (!result.path) { @@ -594,6 +596,8 @@ static int append_extensions( &pick_filter_image_dir, PICK_ARCHITECTURE|PICK_TRIES, &result); + if (r == -ENOENT && ignore_enoent) + continue; if (r < 0) return r; if (!result.path) { diff --git a/test/units/TEST-50-DISSECT.dissect.sh b/test/units/TEST-50-DISSECT.dissect.sh index 306ea1f504e..6cf12135517 100755 --- a/test/units/TEST-50-DISSECT.dissect.sh +++ b/test/units/TEST-50-DISSECT.dissect.sh @@ -428,12 +428,13 @@ systemctl is-active testservice-50e.service VBASE="vtest$RANDOM" VDIR="/tmp/$VBASE.v" EMPTY_VDIR="/tmp/$VBASE-empty.v" +NONEXISTENT_VDIR="/tmp/$VBASE-nonexistent.v" mkdir "$VDIR" "$EMPTY_VDIR" ln -s /tmp/app0.raw "$VDIR/${VBASE}_0.raw" ln -s /tmp/app1.raw "$VDIR/${VBASE}_1.raw" -systemd-run -P -p ExtensionImages="$VDIR -$EMPTY_VDIR" bash -c '/opt/script1.sh | grep ID' +systemd-run -P -p ExtensionImages="$VDIR -$EMPTY_VDIR -$NONEXISTENT_VDIR" bash -c '/opt/script1.sh | grep ID' rm -rf "$VDIR" "$EMPTY_VDIR" @@ -504,12 +505,13 @@ systemctl is-active testservice-50f.service VBASE="vtest$RANDOM" VDIR="/tmp/$VBASE.v" EMPTY_VDIR="/tmp/$VBASE-empty.v" +NONEXISTENT_VDIR="/tmp/$VBASE-nonexistent.v" mkdir "$VDIR" "$EMPTY_VDIR" ln -s "$IMAGE_DIR/app0" "$VDIR/${VBASE}_0" ln -s "$IMAGE_DIR/app1" "$VDIR/${VBASE}_1" -systemd-run -P --property ExtensionDirectories="$VDIR -$EMPTY_VDIR" cat /opt/script1.sh | grep -q -F "extension-release.app2" +systemd-run -P --property ExtensionDirectories="$VDIR -$EMPTY_VDIR -$NONEXISTENT_VDIR" cat /opt/script1.sh | grep -q -F "extension-release.app2" rm -rf "$VDIR" "$EMPTY_VDIR"