Skip to content

kexec can happen before all changes are written to disk #186

Description

@GeertJohan

Description

Unmount errors are ignored, giving us this interesting series of logs:

{"time":"2026-07-04T13:12:40.058317894Z","level":"INFO","msg":"unmounting","machineID":"00000000-0000-0000-0000-905a0817af7d","mountpoint":"/rootfs"}
{"time":"2026-07-04T13:12:40.058321911Z","level":"ERROR","msg":"unable to unmount","machineID":"00000000-0000-0000-0000-905a0817af7d","path":"/rootfs","error":"device or resource busy"}
{"time":"2026-07-04T13:12:40.096712484Z","level":"INFO","msg":"report image installation was successful","machineID":"00000000-0000-0000-0000-905a0817af7d"}

After which the machine kexecs and the new filesystem has an empty /etc/fstab and is missing /var/lib mounted.

I have just opened a PR that does a (fairly dirty) quick fix; #185 But I would prefer a more durable fix for this.

We could consider:

  • Dropping MNT_FORCE; I dont think that's helping us although it seems to be only relevant for networked file systems.
  • Actually have metal-hammer error if unmount fails.
  • Find what processes keep the mount busy (fd leak?) and make sure they have completed before calling unmount.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions