aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-04 02:07:52 +0900
committerOphestra <cat@gensokyo.uk>2026-05-04 02:29:56 +0900
commitda11b26ec16ef9ed61045fdbb03c4090286bfeba (patch)
treeef6120c9c274276eb90976dc49a1a0808a3914b9 /internal
parent024489e800a3324e2305546598b606357606e274 (diff)
container/initoverlay: configure via fsconfig
This works around the page size limit at the cost of negligible performance regressions. Closes #34. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
-rw-r--r--internal/pkg/testdata/main.go36
1 files changed, 8 insertions, 28 deletions
diff --git a/internal/pkg/testdata/main.go b/internal/pkg/testdata/main.go
index f79f7917..564a1736 100644
--- a/internal/pkg/testdata/main.go
+++ b/internal/pkg/testdata/main.go
@@ -14,7 +14,6 @@ import (
"strconv"
"strings"
- "hakurei.app/check"
"hakurei.app/fhs"
"hakurei.app/vfs"
)
@@ -159,43 +158,24 @@ func main() {
m.Source != "overlay" || m.FsType != "overlay" {
log.Fatal("unexpected root mount entry")
}
- var lowerdir string
+ var lowerdir []string
for _, o := range strings.Split(m.FsOptstr, ",") {
- const lowerdirKey = "lowerdir="
+ const lowerdirKey = "lowerdir+="
if strings.HasPrefix(o, lowerdirKey) {
- lowerdir = o[len(lowerdirKey):]
+ lowerdir = append(lowerdir, o[len(lowerdirKey):])
}
}
if !layers {
- if filepath.Base(lowerdir) != checksumEmptyDir {
+ if len(lowerdir) != 1 || filepath.Base(lowerdir[0]) != checksumEmptyDir {
log.Fatal("unexpected artifact checksum")
}
} else {
ident = "p1t_drXr34i-jZNuxDMLaMOdL6tZvQqhavNafGynGqxOZoXAUTSn7kqNh3Ovv3DT"
- lowerdirsEscaped := strings.Split(lowerdir, ":")
- lowerdirs := lowerdirsEscaped[:0]
- // ignore the option separator since it does not appear in ident
- for i, e := range lowerdirsEscaped {
- if len(e) > 0 &&
- e[len(e)-1] == check.SpecialOverlayEscape[0] &&
- (len(e) == 1 || e[len(e)-2] != check.SpecialOverlayEscape[0]) {
- // ignore escaped pathname separator since it does not
- // appear in ident
-
- e = e[:len(e)-1]
- if len(lowerdirsEscaped) != i {
- lowerdirsEscaped[i+1] = e + lowerdirsEscaped[i+1]
- continue
- }
- }
- lowerdirs = append(lowerdirs, e)
- }
-
- if len(lowerdirs) != 2 ||
- filepath.Base(lowerdirs[0]) != "MGWmEfjut2QE2xPJwTsmUzpff4BN_FEnQ7T0j7gvUCCiugJQNwqt9m151fm9D1yU" ||
- filepath.Base(lowerdirs[1]) != "nY_CUdiaUM1OL4cPr5TS92FCJ3rCRV7Hm5oVTzAvMXwC03_QnTRfQ5PPs7mOU9fK" {
- log.Fatalf("unexpected lowerdirs %s", strings.Join(lowerdirs, ", "))
+ if len(lowerdir) != 2 ||
+ filepath.Base(lowerdir[0]) != "MGWmEfjut2QE2xPJwTsmUzpff4BN_FEnQ7T0j7gvUCCiugJQNwqt9m151fm9D1yU" ||
+ filepath.Base(lowerdir[1]) != "nY_CUdiaUM1OL4cPr5TS92FCJ3rCRV7Hm5oVTzAvMXwC03_QnTRfQ5PPs7mOU9fK" {
+ log.Fatalf("unexpected lowerdirs %s", strings.Join(lowerdir, ", "))
}
}
} else {