Skip to content

install: don't fsfreeze VFAT#2196

Merged
cgwalters merged 1 commit into
bootc-dev:mainfrom
supakeen:dont-fsfreeze-vfat
May 13, 2026
Merged

install: don't fsfreeze VFAT#2196
cgwalters merged 1 commit into
bootc-dev:mainfrom
supakeen:dont-fsfreeze-vfat

Conversation

@supakeen

Copy link
Copy Markdown
Contributor

When finalize_filesystems is called there are no checks that the filesystem actually supports FIFREEZE/FITHAW.

I ran into this when bootc install to-filesystem tried to fsfreeze my ESP; which was mounted at /boot as the BLS spec dictates.

Let's at least naively skip fsfreeze on VFAT (probably the most common case for an unsupported filesystem, and ext(2|3|4) is harder to tell apart.

When finalize_filesystems is called there are no checks that the
filesystem actually supports FIFREEZE/FITHAW.

I ran into this when `bootc install to-filesystem` tried to fsfreeze my
ESP; which was mounted at `/boot` as the BLS spec dictates.

Let's at least naively skip fsfreeze on VFAT (probably the most common
case for an unsupported filesystem, and ext(2|3|4) is harder to tell
apart.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
@github-actions github-actions Bot added the area/install Issues related to `bootc install` label May 12, 2026
@bootc-bot bootc-bot Bot requested a review from cgwalters May 12, 2026 06:52

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request modifies the finalize_filesystem function in crates/lib/src/install.rs to skip the fsfreeze operation for VFAT filesystems. The code now uses fstatfs to detect the filesystem type and bypasses the freeze/thaw cycle if it identifies the filesystem as MSDOS_SUPER_MAGIC, as VFAT does not support fsfreeze and lacks a journal. I have no feedback to provide.

@supakeen

Copy link
Copy Markdown
Contributor Author

Not time sensitive; I can work around it by mounting the ESP to /boot/efi instead during the installation.

Note that the systemd-gpt-auto-generator on the system that boots does mount the ESP to /boot.

@cgwalters cgwalters left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks right, though I'm not sure why our existing tests don't hit this. It must be something subtle about the to-disk vs to-filesystem flows.

@cgwalters cgwalters added this pull request to the merge queue May 13, 2026
Merged via the queue into bootc-dev:main with commit b567153 May 13, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/install Issues related to `bootc install`

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants