aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/initdev.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-08-21 00:18:50 +0900
committerOphestra <cat@gensokyo.uk>2025-08-21 00:18:50 +0900
commit5d8a2199b6c8dc5f75b529a39d196c6cb14c98c2 (patch)
tree5ad693466483081342b24df929365490015b4efa /container/initdev.go
parenta1482ecdd0f98728f4b97137cd7b2fa17f67bb89 (diff)
container/init: op interface valid method
Check ops early and eliminate duplicate checks. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/initdev.go')
-rw-r--r--container/initdev.go11
1 files changed, 5 insertions, 6 deletions
diff --git a/container/initdev.go b/container/initdev.go
index 71c30f42..48d70f37 100644
--- a/container/initdev.go
+++ b/container/initdev.go
@@ -33,11 +33,9 @@ type MountDevOp struct {
Write bool
}
+func (d *MountDevOp) Valid() bool { return d != nil && d.Target != nil }
func (d *MountDevOp) early(*setupState) error { return nil }
func (d *MountDevOp) apply(state *setupState) error {
- if d.Target == nil {
- return EBADE
- }
target := toSysroot(d.Target.String())
if err := mountTmpfs(SourceTmpfsDevtmpfs, target, MS_NOSUID|MS_NODEV, 0, state.ParentPerm); err != nil {
@@ -128,9 +126,10 @@ func (d *MountDevOp) apply(state *setupState) error {
func (d *MountDevOp) Is(op Op) bool {
vd, ok := op.(*MountDevOp)
- return ok && ((d == nil && vd == nil) || (d != nil && vd != nil &&
- d.Target != nil && vd.Target != nil && d.Target.Is(vd.Target) &&
- d.Mqueue == vd.Mqueue && d.Write == vd.Write))
+ return ok && d.Valid() && vd.Valid() &&
+ d.Target.Is(vd.Target) &&
+ d.Mqueue == vd.Mqueue &&
+ d.Write == vd.Write
}
func (*MountDevOp) prefix() string { return "mounting" }
func (d *MountDevOp) String() string {