New option "--direct-io".

This commit is contained in:
Andrew Wood
2023-07-27 21:44:30 +01:00
parent 9f07a28065
commit ae81f83e9b
18 changed files with 262 additions and 45 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
0.0.20230726-UNRELEASED
0.0.20230727-UNRELEASED
* feature: new "`--sync`" option to flush cache to disk after every write (related to [GH#6](https://github.com/a-j-wood/pv/issues/6), to improve accuracy when writing to slow disks)
* feature: new "`--direct-io`" option to bypass cache - implements [GH#29 "Option to enable *O_DIRECT*"](https://github.com/a-j-wood/pv/issues/29) - requested by Romain Kang, Jacek Wielemborek
* fix: correct byte prefix size to 2 spaces in rate display, so progress display size remains constant at low transfer rates
* cleanup: rewrote `configure.in` as per suggestions in newer "`autoconf`" manuals
* cleanup: replaced `header.in` with one generated by "`autoheader`", moving custom logic to a separate header file "`config-aux.h`"
-1
View File
@@ -26,7 +26,6 @@ Feature requests
* ([GH#17](https://github.com/a-j-wood/pv/issues/17)) Allow "`-r`" with "`-l`" and "`-n`" to output lines/sec (Roland Kletzing)
* ([GH#22](https://github.com/a-j-wood/pv/issues/22)) Options to skip input and seek on output (Jason A. Pfeil, Feb 2022)
* ([GH#25](https://github.com/a-j-wood/pv/issues/25)) Normalise progress to 100% on overrun (Andrej Gantvorg)
* ([GH#29](https://github.com/a-j-wood/pv/issues/29)) Option to enable *O_DIRECT* (Romain Kang, Jacek Wielemborek)
* ([GH#35](https://github.com/a-j-wood/pv/issues/35)) Allow decimal values for "`-s`", "`-L`", "`-B`" (Thomas Watson - Aug 2020)
* ([GH#36](https://github.com/a-j-wood/pv/issues/36)) Ignore *SIGWINCH* (window size change) if "`-w`" / "`-H`" provided
* ([GH#37](https://github.com/a-j-wood/pv/issues/37)) Allow "`-E`" to take a block size argument so errors cause a skip to the next block (Anthony DeRobertis - Oct 2016)
+1 -1
View File
@@ -1 +1 @@
0.0.20230726-UNRELEASED
0.0.20230727-UNRELEASED
+15 -2
View File
@@ -402,6 +402,17 @@ This has no effect when the output is a pipe. Using
.B \-Y
may improve the accuracy of the progress bar when writing to a slow disk.
.TP
.B \-K, \-\-direct-io
Set the
.I O_DIRECT
flag on all inputs and outputs, if it is available. This will minimise
the effect of caches, at the cost of performance. Due to memory alignment
requirements, it also may cause read or write failures with an error of
"Invalid argument", especially if reading and writing files across a variety
of filesystems in a single
.B @PACKAGE@
call. Use this option with caution.
.TP
.B \-d PID[:FD], \-\-watchfd PID[:FD]
Instead of transferring data, watch file descriptor
.B FD
@@ -661,8 +672,10 @@ home page: <http://www.ivarch.com/programs/pv.shtml>
.SH "SEE ALSO"
.BR cat (1),
.BR dialog (1),
.BR splice (2)
.BR splice (2),
.BR open (2)
(for
.IR O_DIRECT )
.SH LICENSE
This is free software, distributed under the ARTISTIC 2.0 license.