aboutsummaryrefslogtreecommitdiffhomepage
path: root/hst/fsoverlay.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-04-05 14:00:52 +0900
committerOphestra <cat@gensokyo.uk>2026-04-05 14:04:21 +0900
commit33a0e6c01bb93488f5442231eef3b93012d3af1e (patch)
tree0ae62faa64d82d64ffc9f7ac6de7d754a251d501 /hst/fsoverlay.go
parentd58f5c7590c1500055af6b8682d50134100c3a94 (diff)
hst: conditionally skip root remount
This enables the writable root overlay use case. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'hst/fsoverlay.go')
-rw-r--r--hst/fsoverlay.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/hst/fsoverlay.go b/hst/fsoverlay.go
index 738ecf53..b06c1e7e 100644
--- a/hst/fsoverlay.go
+++ b/hst/fsoverlay.go
@@ -5,6 +5,7 @@ import (
"strings"
"hakurei.app/check"
+ "hakurei.app/fhs"
)
func init() { gob.Register(new(FSOverlay)) }
@@ -69,9 +70,12 @@ func (o *FSOverlay) Apply(z *ApplyState) {
return
}
- if o.Upper != nil && o.Work != nil { // rw
+ if o.Upper != nil && o.Work != nil {
z.Overlay(o.Target, o.Upper, o.Work, o.Lower...)
- } else { // ro
+ if o.Target.Is(fhs.AbsRoot) {
+ z.NoRemountRoot = true
+ }
+ } else {
z.OverlayReadonly(o.Target, o.Lower...)
}
}