install: don't fsfreeze VFAT#2196
Conversation
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>
There was a problem hiding this comment.
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.
|
Not time sensitive; I can work around it by mounting the ESP to Note that the |
cgwalters
left a comment
There was a problem hiding this comment.
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.
When finalize_filesystems is called there are no checks that the filesystem actually supports FIFREEZE/FITHAW.
I ran into this when
bootc install to-filesystemtried to fsfreeze my ESP; which was mounted at/bootas 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.