diff --git a/internal/daemon/daemon.go b/internal/daemon/daemon.go index 6275508..3fc4e88 100644 --- a/internal/daemon/daemon.go +++ b/internal/daemon/daemon.go @@ -16,7 +16,7 @@ import ( ) const ( - defaultGuestKernelArgs = "console=ttyS0 reboot=k" + defaultGuestKernelArgs = "console=ttyS0 reboot=k panic=0" defaultGuestKernelArgsNoPCI = defaultGuestKernelArgs + " pci=off" defaultGuestMemoryMiB = int64(3072) defaultGuestVCPUs = int64(2) diff --git a/internal/daemon/files.go b/internal/daemon/files.go index a61cd94..e612b85 100644 --- a/internal/daemon/files.go +++ b/internal/daemon/files.go @@ -647,3 +647,7 @@ func syncDir(path string) error { } return nil } + +func repairDirtyFilesystem(diskPath string) { + _ = exec.Command("e2fsck", "-fy", diskPath).Run() +} diff --git a/internal/daemon/lifecycle.go b/internal/daemon/lifecycle.go index 8078145..42a4708 100644 --- a/internal/daemon/lifecycle.go +++ b/internal/daemon/lifecycle.go @@ -87,6 +87,8 @@ func (d *Daemon) StartMachine(ctx context.Context, id contracthost.MachineID) (* if err != nil { return nil, err } + repairDirtyFilesystem(systemVolume.Path) + spec, err := d.buildMachineSpec(id, artifact, userVolumes, systemVolume.Path, record.GuestConfig) if err != nil { return nil, err