From d666a4f7c78a46d4e644b42453d2d7e555b8852e Mon Sep 17 00:00:00 2001 From: CMGS Date: Thu, 29 Oct 2026 17:13:13 +0800 Subject: [PATCH] engine: resolve a missing live mount path without an error Every live mount checks its target before mkdir, so realpath failed on the not-yet-created path and logged a warning per attach (11 per hardware round). realpath -m resolves missing components lexically and still follows existing symlinks, so the occupied-path check behind a symlink is unchanged. --- sandboxd/engine/volume_live.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sandboxd/engine/volume_live.go b/sandboxd/engine/volume_live.go index fe474b6f..947bd99f 100644 --- a/sandboxd/engine/volume_live.go +++ b/sandboxd/engine/volume_live.go @@ -170,7 +170,7 @@ func (e *Engine) resolveMount(ctx context.Context, vsockSocket, mount string, mo if slices.ContainsFunc(mounts, func(m volumeMount) bool { return m.path == mount }) { return mount } - resolved, err := e.silkdOutput(ctx, vsockSocket, "realpath", mount) + resolved, err := e.silkdOutput(ctx, vsockSocket, "realpath", "-m", "--", mount) if err != nil { log.WithFunc("engine.resolveMount").Warnf(ctx, "resolve volume mount %s, checking it as given: %v", mount, err) return mount