bind: only add to fstab if we have no errors

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
This commit is contained in:
Itxaka
2023-02-08 16:36:12 +01:00
parent 0939929821
commit c533ab825a

View File

@@ -441,10 +441,7 @@ func (s *State) Register(g *herd.Graph) error {
func(ctx context.Context) error { func(ctx context.Context) error {
var err error var err error
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}).With().Logger() log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}).With().Logger()
log.Logger.Debug().Msg("Start" + opMountBind)
log.Logger.Debug().Msg("Mounting bind")
log.Logger.Debug().Strs("binds", s.BindMounts).Msg("Mounting bind") log.Logger.Debug().Strs("binds", s.BindMounts).Msg("Mounting bind")
for _, p := range s.BindMounts { for _, p := range s.BindMounts {
// TODO: Check why p can be empty, Example: // TODO: Check why p can be empty, Example:
/* /*
@@ -469,10 +466,15 @@ func (s *State) Register(g *herd.Graph) error {
} }
log.Logger.Debug().Str("what", p).Str("where", s.StateDir).Msg("Mounting bind") log.Logger.Debug().Str("what", p).Str("where", s.StateDir).Msg("Mounting bind")
op := mountBind(p, s.Rootdir, s.StateDir) op := mountBind(p, s.Rootdir, s.StateDir)
err2 := op.run()
if err2 != nil {
log.Logger.Err(err2).Send()
err = multierror.Append(err, err2)
} else {
// Only append to fstabs if there was no error, otherwise we will try to mount it after switch_root
s.fstabs = append(s.fstabs, &op.FstabEntry) s.fstabs = append(s.fstabs, &op.FstabEntry)
err = multierror.Append(err, op.run())
} }
log.Logger.Debug().Msg("End" + opMountBind) }
log.Logger.Err(err).Send() log.Logger.Err(err).Send()
return err return err
}, },