From c2deb7619263f822dfee76b2bd9ac444ad2d2a90 Mon Sep 17 00:00:00 2001 From: Itxaka Date: Wed, 8 Feb 2023 10:32:11 +0100 Subject: [PATCH] Check symlink before creating it Signed-off-by: Itxaka --- pkg/mount/mount.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/mount/mount.go b/pkg/mount/mount.go index 6244644..ee44c58 100644 --- a/pkg/mount/mount.go +++ b/pkg/mount/mount.go @@ -88,10 +88,13 @@ func (s *State) RunStageOp(stage string) func(context.Context) error { return func(ctx context.Context) error { log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}).With().Caller().Logger() if stage == "rootfs" { - err := os.Symlink("/sysroot/system", "/system") - if err != nil { - s.Logger.Err(err).Msg("creating symlink") - return err + if _, err := os.Stat("/system"); os.IsNotExist(err) { + s.Logger.Debug().Str("from", "/sysroot/system").Str("to", "/system").Msg("Creating symlink") + err = os.Symlink("/sysroot/system", "/system") + if err != nil { + s.Logger.Err(err).Msg("creating symlink") + return err + } } }