`sizeof()` returns the number of bytes, not bits, and since this is as an unsigned type and the value typically less than 10 the assertion currently does not fail but also fails to detect problems when `MAX_N_BLOCK_ORDER` is too big as the comparison is with the the very big number resulting from an unsigned overflow, typically 2^32-2.
The last assert() in iterate_files() was doing an integer division
before comparing values, so there was potential for a bug going
silent due to the truncation fo the integer division.
This patch rewrite the test with a multiplication.
The original libflow was written for f3write only, and
this was reflected in the name of fields and variables
throughout the code. This patch renames these fields and
variables to reflect the fact that libflow will eventually
support f3write AND f3read.
With really fast drives (i.e. >1GB/s), f3write needs to
write multiple files before a measurement can be made.
This patch enhances the flow library to deal with such fast drives.
NVM drives are fast enough to overflow 32-bit measurement variables
in bytes and blocks. This patch upgrades these variables to 64 bits.
This patch addresses issue #117:
https://github.com/AltraMayor/f3/issues/117
The file system HFS (i.e. "OS X Extended (Journaled)") of
macOS 10.11 may return a number of partial write()'s before
the file system is full.
This POSIX-permited, but unusual behavior was frist reported here:
https://github.com/AltraMayor/f3/issues/111
According to issue #102, calls to fdatasync() might take
a long time (.e.g. 3s or 4s) and distort the measurement of
the average write speed. This patch addresses it by only updating
the measurements when delays are within a tolerance.
Commit 7ff9fad37a32 ("libdevs: fix compiler warning") fixed the warning
by removing duplicate ‘const’ specifier.
The original intent of two ‘const’ specifiers, was most likely to make
non-mutable both: the ‘ftype_to_name‘ array itself and its elements,
so bring back the second ‘const’, but in the correct place this time,
i.e. after ‘*‘.
The comment explains from where the name B-RE-W comes.
It is meant to address some confusion that may raise as
the following pull request points out:
https://github.com/AltraMayor/f3/pull/96
Several of the HTTP links are now available over HTTPS, and the
documentation should link directly to the secure version of the
referenced page.
Along the way, a couple of broken links were updated.