Repository navigation
FreeWilly 1.0.8
The filesystem check is finished, and Compact is waiting on Windows
1.0.6 added the check and the repair. 1.0.7 fixed the way its rescue was torn down. This release is
the rest of it: the check asks before it interrupts anything, stops reporting its own stop as a
failure, puts Docker back when it finishes, and needs no network after the first run.
Beside it is a new Compact button that Windows currently refuses. That is explained below rather
than left for you to find.
The check
It asks before it interrupts anything. Docker stops for the duration, and the dialog says so
before you agree rather than in a sentence beside the button. It starts Docker again at the end.
A stop you asked for is no longer announced as an outage. Running freewilly --fsck or
--stop from a terminal left the tray watching an engine that had gone away, and fifteen seconds
later announcing a failure about a stop you had just typed. Verbs now tell the tray what the window
already told it. The verb still leaves the engine where you asked, and names the command that starts
it again.
Only the first check needs a network. The rescue distribution used to fetch e2fsprogs every
time, which is a download at the moment something is already wrong. It now keeps the prepared
filesystem beside the install, about 11 MB, and imports that instead. A check works on a machine
whose network is part of what is broken. The dialog names that first download instead of blaming the
size of your disk for the wait.
What e2fsck printed is in the order it printed it. Its version banner used to land under the
summary line it belongs above, because the two output streams were appended rather than interleaved.
A clean verdict no longer contradicts the transcript beneath it. e2fsck can exit zero having
printed complaints, and the panel said "Nothing needed mending" directly over them.
Compact, and why it does nothing yet
The Engine page has a Compact button beside Check filesystem. It drops the build cache, trims
the filesystem, and hands the freed blocks back to Windows with
wsl --manage <distro> --set-sparse true.
Windows currently refuses that last step. Sparse VHD support is disabled over possible data
corruption, and the only way past it is --allow-unsafe, which this will not pass on a disk holding
every image and volume you have. So the button says Windows has turned this off, in those words,
rather than handing you WSL's error text. Once a machine has refused, the plan says so before it
costs you an interruption instead of after one, and asks whether to try anyway: the flag is disabled
rather than removed, and may come back.
The panel now reads the disk from both sides, because a virtual disk handed back to Windows becomes
a sparse file and keeps its length. What the file says it is and what the volume is charging for are
different numbers, and only the second one moves when a compaction works.
Fixes
The preflight stopped calling your own engine a rival. With FreeWilly running, the Container
engine row went red saying an unidentified engine held \\.\pipe\docker_engine and telling you to
uninstall it first. --provision refused with it, so a repair install on a working machine was
blocked by the thing it was repairing.
An uninstall takes the rescue image with it, and an Alpine version bump no longer leaves the old
one on disk.
An interrupted check no longer blocks the next one. A run killed part-way through left its
temporary distribution registered, and the next run stopped on ERROR_ALREADY_EXISTS. A run that
meets a leftover of its own now clears it and says so.
For diagnosing this tool
Three verbs, each saying what it touches. --fsck-drill rehearses the repair on a scratch ext4
image dirtied on purpose. --compact-drill rehearses the compaction on a scratch disk grown and
emptied on purpose. Neither goes near your engine or its disk. --drive-window works the real window
through UI Automation and prints what it says; with --check it drives the real filesystem check,
which does stop Docker.
Install
Download FreeWilly-Setup-1.0.8.exe and check it against SHA256SUMS.txt. Upgrading keeps the
distribution and everything in it.