From d7a6250b91a7e3ded0f6d659b7e55aa2d41a3644 Mon Sep 17 00:00:00 2001 From: Jan Scheffler Date: Fri, 12 Dec 2025 23:03:08 +0000 Subject: [PATCH] layer: Clean up RW layer if mount metadata save fails Add cleanup for the RW layer directory if saveMount() fails after driver.CreateReadWrite() succeeds. Previously, this failure path would leave an orphaned overlay2 directory with no corresponding metadata. Related to moby/moby#45939 Signed-off-by: Jan Scheffler --- daemon/internal/layer/layer_store.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/daemon/internal/layer/layer_store.go b/daemon/internal/layer/layer_store.go index 5366f85085..bcc5e4d02c 100644 --- a/daemon/internal/layer/layer_store.go +++ b/daemon/internal/layer/layer_store.go @@ -535,6 +535,9 @@ func (ls *layerStore) CreateRWLayer(name string, parent ChainID, opts *CreateRWL return nil, err } if err := ls.saveMount(m); err != nil { + if removeErr := ls.driver.Remove(m.mountID); removeErr != nil { + log.G(context.TODO()).WithFields(log.Fields{"mount-id": m.mountID, "error": removeErr}).Error("Failed to clean up RW layer after mount save failure") + } return nil, err }