302 Commits

Author SHA1 Message Date
Alexander A. Klimov
0acac543f1 f3read, f3write: chdir(2) to source/target dir
This makes the dir non-umount-able for the program's lifetime.
2022-11-11 20:20:46 +01:00
Michel Machado
1aff91a44a
Merge pull request #191 from Al2Klimov/gha
GitHub Actions: test
2022-11-11 07:48:41 -05:00
Alexander A. Klimov
6b589aa8ca GitHub Actions: test 2022-11-10 23:10:31 +01:00
Alexander A. Klimov
709acbee27 GitHub Actions: build 2022-11-10 22:26:45 +01:00
Michel Machado
3b015a5a49
Merge pull request #186 from Al2Klimov/openbsd
Support OpenBSD
2022-10-24 15:33:23 -04:00
Alexander A. Klimov
bca777bef4 On OpenBSD use the MacOS msleep(), not the default one
which uses clock_nanosleep(2) which OpenBSD doesn't have.
2022-10-24 21:07:11 +02:00
Alexander A. Klimov
373504735e On OpenBSD, which doesn't have posix_fadvise(2), define that function 2022-10-24 21:07:07 +02:00
Michel Machado
57448c97c2
Merge pull request #184 from dreua/safer-documentation
Replace actual device names with /dev/sdX
2022-08-16 12:53:48 -04:00
David Auer
e94f845e1e Replace actual device names with /dev/sdX
Prevent possible data loss by mindless copy and paste.

Closes: https://github.com/AltraMayor/f3/issues/177
2022-08-16 18:26:32 +02:00
Michel Machado
447e37338b
Merge pull request #172 from vibraniumdev/master
Quick Fix | Replaces linking from releases to tags
2021-10-28 15:55:15 -04:00
Guilherme Teixeira
f291461a31 Quick Fix | Replaces linking from releases to tags
Since the releases are actually there
2021-10-28 15:27:31 -03:00
Michel Machado
e951364f88 f3read.1: update link to online manual
This patch closes #171
2021-09-07 14:54:11 -04:00
Michel Machado
8f96a03112
Merge pull request #170 from a1346054/master
Minor cleanup
2021-08-25 10:14:24 -04:00
a1346054
7750cd1474 trim excess whitespace 2021-08-25 13:23:07 +00:00
a1346054
0d3215a10b fix spelling 2021-08-25 13:23:06 +00:00
a1346054
be4444f4c4 Use correct license file from upstream
File retrieved from:
https://www.gnu.org/licenses/gpl-3.0.txt
2021-08-24 13:56:26 +00:00
Volker Runkel
94569efe38
Update README.rst (#160)
Added F3XSwift in GUI section
2021-01-20 08:33:27 -05:00
Michel Machado
f8d4e44f4f
Merge pull request #155 from whitslack/flakyflash-link
README: add reference to Flakyflash in "Other resources"
2020-12-30 15:07:51 -05:00
Matt Whitlock
c1efefeb96 README: add reference to Flakyflash in "Other resources"
See: https://github.com/AltraMayor/f3/issues/70#issuecomment-751832182
2020-12-30 13:12:09 -05:00
Michel Machado
7c5d6b7894 f3read/f3write: avoid the execution stack to list files
For large number of files, the original, recursive version of
__ls_my_files() triggers a stack overflow; see issue #153 for
an example.

This patch replaces __ls_my_files() with a version that replaces
the recursion with two scans of the target folder.
2020-12-10 19:38:18 -05:00
Michel Machado
46a509578f libflow: address compilation warning on ARM
This patch addresses issue #151.
2020-11-25 14:00:47 -05:00
kwaaak
f05682451b
Change libparted library name (#150)
* Change libparted library name

On Ubuntu 20.04.1 LTS, the name of the library is libparted-dev

Co-authored-by: Michel Machado <michel@digirati.com.br>
2020-11-15 11:19:00 -05:00
Michel Machado
e8cc238c72
Merge pull request #149 from gpupo/pr/Shebang
Add portability to Bash Program location
2020-11-15 10:59:30 -05:00
Gilmar Pupo
55b17d87f4 Shebang Portability 2020-11-14 08:45:26 -03:00
Michel Machado
4dae4eaf00 Bump version to 8.0 v8.0 2020-10-29 09:25:47 -04:00
Michel Machado
10cc50fd19
Merge pull request #146 from jowagner/patch-2
Correct overflow protection
2020-09-01 08:40:16 -04:00
Joachim Wagner
67337d7998
Correct overflow protection
`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.
2020-09-01 13:22:31 +01:00
Michel Machado
ba0078e6d8
Merge pull request #142 from gchenfc/documentation_docker
Docker documentation on device passthrough
2020-07-30 15:47:36 -04:00
Gerry Chen
fa90e24f05 re-add docker build command (local build) 2020-07-30 14:30:37 -04:00
Gerry Chen
e39d6c542e Docker documentation on device passthrough
Primarily geared towards Mac, but serves as a rough template for Windows as well.
2020-07-30 14:22:37 -04:00
Michel Machado
9a9e74250d libflow: accommodate Macs
As of today, macOS or OS X still does not implement
clock_nanosleep() according to this project:
https://github.com/ChisholmKyle/PosixMachTiming
2020-06-23 08:01:52 -04:00
Michel Machado
5ac9551d87 libflow: avoid types size_t and ssize_t in libflow.h
Those types are not included in libflow.h and
including them is overwhelming.
2020-06-23 07:35:05 -04:00
Michel Machado
099eb7fd42 f3read: tighten assert()
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.
2020-06-23 07:14:21 -04:00
Michel Machado
ab76ce4f85 README: drop reference to F3X
The project F3X is no longer maintained.

This patch closes #127.
2020-06-22 16:59:59 -04:00
Michel Machado
777c0758b8 f3read: add parameter --max-read-rate 2020-06-22 16:38:42 -04:00
Michel Machado
041c94c4ac f3read: integrate with libflow 2020-06-22 16:38:42 -04:00
Michel Machado
2ba83fb441 f3read: replace fopen(3) with open(2)
This patch is another step to prepare f3read to be integrated with
libflow.
2020-06-22 16:38:42 -04:00
Michel Machado
79cd2d66a2 libflow: rename fields and variables for generality
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.
2020-06-22 16:38:42 -04:00
Michel Machado
a759140bc5 libflow: replace usleep() with clock_nanosleep()
POSIX.1-2008 removed usleep() and POSIX.1-2001 introduced
clock_nanosleep().
2020-06-22 16:38:42 -04:00
Michel Machado
e2a59bc08d libflow: avoid fdatasync() and posix_fadvise()
This patch moves calls to fdatasync() and posix_fadvise() out of
libflow as one more step to generalize libflow.
2020-06-22 16:38:42 -04:00
Michel Machado
14b35b5bc6 f3write: avoid unnecessary calls to measure()
This patch is only meant to have a simpler calling pattern of
libflow since it'll be generalized down the line.
2020-06-22 16:38:42 -04:00
Michel Machado
791acdc326 libflow: do measurements over multiple files
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.
2020-06-22 16:38:42 -04:00
Michel Machado
b1ab05c280 f3write: move flow code to a new library (libflow)
This is the first step toward generalizing the flow code in order to
reuse it in f3read.
2020-06-22 16:38:42 -04:00
Michel Machado
09164052de
Merge pull request #133 from dproteus13/patch-1
Fix a typo
2020-05-10 11:27:50 -04:00
dproteus13
3c33c54e5d
Fix a typo 2020-05-08 22:56:34 -04:00
Michel Machado
5846f9dbb1 f3probe: report unexpected error codes in read_all()
No unexpected error code should happen in read_all(), but,
if it does, f3probe will report them before aborting.

This patch address the request of user @vi at the following comment:
https://github.com/AltraMayor/f3/issues/82#issuecomment-585829975
2020-02-18 10:27:07 -05:00
Michel Machado
3c19d21859 f3probe: allow errno == ENODATA when calling read(2)
The errno ENODATA is not documented in the manual, but according
to the comment the following comment, it behaves like EIO.

https://github.com/AltraMayor/f3/issues/82#issuecomment-584409275
2020-02-11 07:49:55 -05:00
Michel Machado
7e29f43a60
Merge pull request #129 from shoeper/fedora-deps
Readme: Add Fedora dependency install instructions
2019-12-20 18:42:54 -05:00
Sven Höper
7ba1cc4c9d
Readme: Add Fedora dependency install instructions 2019-12-20 17:41:05 +01:00
Michel Machado
63b68cbfd3
Merge pull request #125 from l29ah/pseudorandom
README: + mechanism of action
2019-09-30 17:35:33 -04:00