github AltraMayor/f3 v10.0
Version 10.0

4 hours ago

f3probe has a new probing algorithm that does not require resetting the drive under test, and only makes random reads. Eliminating resets addresses the fact that each fake drive behaves differently under different reset methods. And avoiding sequential reads disrupts the internal cache of fake drives.

There's no known fake drive that evades the new probing algorithm of f3probe. In addition, if such fake drive surfaces, the new --verbose flag will produce information to accelerate the identification of the evasion strategy. The --verbose flag also serves as a progress report on which tests are underway.

This release promotes f3brew into the testing workflow. When f3probe detects a fake drive, it shows how to run f3brew to test all blocks within the usable region, in addition to the traditional f3fix command. Running f3brew after f3probe catches any bad block that might've evaded the probabilistic sampling of f3probe. The new --fix-cmd flag of f3brew accounts for these sneaky bad blocks when it shows how to run f3fix to create a partition within the usable area of a fake drive.

Thanks to the integration with libflow, f3brew now reports progress while writing and reading blocks and supports the rate-limiting parameters --max-write-rate and --max-read-rate, similarly to f3write and f3read.

The trusty f3write and f3read will report the minimum, maximum, and average speeds per file. While average speed is available for each file, minimum and maximum speeds are only available for files with speeds up to 512MB/s. This limitation arises because f3write and f3read need at least two measurements to report the minimum and maximum speeds. Since each file is at most 1GB, speeds above 512MB/s yield at most one measurement per file.

Finally, the GitHub Action associated with the repository includes OpenBSD and FreeBSD as testing platforms. Therefore, F3 is routinely tested on all supported platforms, namely Linux, macOS, OpenBSD, FreeBSD, and Cygwin.

Don't miss a new f3 release

NewReleases is sending notifications on new releases.