Andrew Wood
|
972f8b7df8
|
Re-order no_splice and sparse_output relative to other flags to more closely match the order they appear in the manual.
|
2025-10-15 23:23:16 +01:00 |
|
Andrew Wood
|
a40bdfb55f
|
Merge branch 'issue45_sparse' (#45).
|
2025-10-15 23:17:05 +01:00 |
|
Andrew Wood
|
3c9ab822fe
|
Call lseek() at the start if output is appending, so that future lseek()s are relative to the right position, fixing the issue with incorrect truncation size (#45).
|
2025-10-15 23:08:33 +01:00 |
|
Andrew Wood
|
fb5ce33518
|
Add debugging messages about truncation and seeking (#45).
|
2025-10-15 22:43:56 +01:00 |
|
Andrew Wood
|
5c15337662
|
Only call ftruncate() once, when the output file descriptor is closed at the end, instead of after every lseek() - this corrects the file growth on XFS but has the side effect that writing to stdout in >> (append) mode truncates the file to the wrong size (#45).
|
2025-10-15 22:32:21 +01:00 |
|
Andrew Wood
|
71f929e29c
|
Add a TODO indicating the problems so far and what to try next (#45).
|
2025-10-15 17:49:38 +01:00 |
|
Andrew Wood
|
c21ad6fdf1
|
For sparse output, instead of fstat(), ftruncate(), then lseek(), do lseek() then ftruncate(), like dd does (#45).
|
2025-10-14 23:38:15 +01:00 |
|
Andrew Wood
|
72686655cf
|
Move the pv__transfer_write_completed label, jumped to on a sparse write, outside of the compound statement; and so, move all of the variables within that compound statement to the start of the function. The GCC on RHEL derivatives like AlmaLinux 9, Rocky 8, CentOS 7/6/5 throws an error if the label is at the end of that block rather than just outside it (#45).
|
2025-10-14 22:03:41 +01:00 |
|
Andrew Wood
|
54913fddbe
|
First working draft of --sparse transfers, tests still needed (#45).
|
2025-10-13 22:13:54 +01:00 |
|
Andrew Wood
|
023cf22a59
|
Add --sparse / -O to the manual, to --help, and to option processing (#45).
|
2025-10-13 21:26:24 +01:00 |
|
Andrew Wood
|
164d7f7738
|
Add the extra --watchfd syntax to the help for that option.
|
2025-10-13 17:58:37 +01:00 |
|
Andrew Wood
|
6b8acd9e01
|
Add sparse_output option and control flags, and an output_not_seekable transfer flag, to structures for "sparse output" mode in future (#45).
|
2025-10-12 18:12:43 +01:00 |
|
Andrew Wood
|
72d9efc993
|
More specific TODOs for one way of implementing #81.
|
2025-10-07 22:17:10 +01:00 |
|
Andrew Wood
|
64c4e8efb9
|
Add TODO markers for one way of implementing #81.
|
2025-10-06 18:03:46 +01:00 |
|
Andrew Wood
|
25dadb2bfd
|
Add a comment describing what this structure is for.
|
2025-10-06 18:01:57 +01:00 |
|
Andrew Wood
|
615c1d5321
|
Explicitly cast both sides of the comparison to "long long", otherwise there is an overflow on 32-bit systems and stop-at-size stops at the wrong point (#166).
|
2025-10-05 21:20:27 +01:00 |
|
Andrew Wood
|
3442d7651a
|
Use a void *, not a char *, so the types are consistent throughout.
|
2025-10-05 21:16:34 +01:00 |
|
Andrew Wood
|
7982badb65
|
Write a debugging line when truncating transfers for stop-at-size.
|
2025-10-05 21:15:58 +01:00 |
|
Andrew Wood
|
a83a549de5
|
Correct the value size in the debug statement, otherwise it overflows on 32-bits systems.
|
2025-10-05 21:02:27 +01:00 |
|
Andrew Wood
|
8504964f1a
|
Remove old non-functional code relating to ETAs and --size in the --watchfd loop.
|
2025-10-05 18:07:02 +01:00 |
|
Andrew Wood
|
f83aa2272b
|
Fix incorrect usage of "optarg".
|
2025-10-04 21:51:26 +01:00 |
|
Andrew Wood
|
fb7c05c262
|
Implement the "pgrep" call for --watchfd =NAME (#95).
|
2025-10-04 21:50:25 +01:00 |
|
Andrew Wood
|
bd4ca7301c
|
Document the new "=NAME" (#95) and "@FILE" (#12) syntax for --watchfd options.
|
2025-10-04 20:17:46 +01:00 |
|
Andrew Wood
|
242297a3c6
|
Partial draft of "-d @filename" (#12) and "-d =processname" syntax (#95).
|
2025-10-04 17:46:43 +01:00 |
|
Andrew Wood
|
0a658f99bb
|
In --watchfd, when deciding whether to insert %N into the format, check for %{name} in the current format as well as the existing check for %N.
|
2025-10-04 14:49:06 +01:00 |
|
Andrew Wood
|
11dc25966d
|
If stop_at_size is true, do not read more than control.size even if that is 0 (#166).
|
2025-10-01 18:06:59 +01:00 |
|
Andrew Wood
|
be066f6c8c
|
Restrict the amount to read when --stop-at-size is active so that reads, as well as writes, never go past --size bytes (#166).
|
2025-09-30 22:27:25 +01:00 |
|
Andrew Wood
|
751263376b
|
Adjust the format and reparse the display, if a remote update -R was received while in the --watchfd loop.
|
2025-09-29 21:42:48 +01:00 |
|
Andrew Wood
|
d903a7d188
|
Add a return value to pv_remote_check() so its caller can know whether a message was received.
|
2025-09-29 21:31:05 +01:00 |
|
Andrew Wood
|
9fe604df1a
|
Move the declaration of changes_made outside the conditional, so as to not break on macOS.
|
2025-09-29 17:53:56 +01:00 |
|
Andrew Wood
|
64cd9cd85c
|
Move the watchfd %N format insertion into its own function, so it can be called separately elsewhere in future, and to make it easier to extend the %N detection to find %{name} later as well.
|
2025-09-28 17:22:56 +01:00 |
|
Andrew Wood
|
10ef5a8596
|
If watching more than one distinct PID with --watchfd, display the PID as well as the FD number (#12).
|
2025-09-28 16:36:06 +01:00 |
|
Andrew Wood
|
77ed2e5989
|
Another minor issue noted as a TODO.
|
2025-09-27 18:32:27 +01:00 |
|
Andrew Wood
|
284ceba52b
|
Add TODO marker after some testing showed an issue.
|
2025-09-27 18:24:59 +01:00 |
|
Andrew Wood
|
3ea19829d7
|
Merge pv_watchpid_loop into pv_watchfd_loop, and allow multiple PID / PID:FD sets to be watched at once (#12).
|
2025-09-27 17:55:18 +01:00 |
|
Andrew Wood
|
c49fc4aa57
|
Eliminate the fd_to_idx array in --watchfd, so that file descriptors aren't constrained to FD_SETSIZE and so we don't have to track another array.
|
2025-09-26 23:40:39 +01:00 |
|
Andrew Wood
|
7fdb6716e1
|
In the pvwatchfd_s structure, use booleans "displayable" and "unused" instead of having values of watch_pid=0 for unused and watch_fd=-1 for not displayable, so that each item only means one thing.
|
2025-09-26 23:01:07 +01:00 |
|
Andrew Wood
|
c61c589378
|
Typo correction in the comment.
|
2025-09-26 22:29:36 +01:00 |
|
Andrew Wood
|
0b2f9ec397
|
Only call pv_watchfd_loop() from main, so that eventually pv_watchpid_loop() can be removed and multiple "-d" values supported (#12).
|
2025-09-24 22:11:44 +01:00 |
|
Andrew Wood
|
a0a9d682ca
|
Reject "-o" when using "-d".
|
2025-09-23 05:45:43 +01:00 |
|
Andrew Wood
|
22bf08f8e4
|
Accept additional arguments when -d is specified, expecting them to be more pid[:fd] values (#12).
|
2025-09-22 21:50:35 +01:00 |
|
Andrew Wood
|
b5fbd1978e
|
Replace watch_pid, watch_fd with arrays, though for now only use the first item in the arrays (#12).
|
2025-09-21 19:50:56 +01:00 |
|
Andrew Wood
|
db80f838ff
|
Explicitly set an action variable to say which action to perform, instead of inferring it from other settings like whether a watch PID was set (#12).
|
2025-09-18 06:18:18 +01:00 |
|
Andrew Wood
|
8c2e934768
|
Add a TODO marker for the next step to take.
|
2025-09-18 05:47:15 +01:00 |
|
Andrew Wood
|
dbce5b355e
|
Add --watchfd option values to an array in the main state, as well as to the currently used variables (#12).
|
2025-09-17 23:12:13 +01:00 |
|
Andrew Wood
|
12cc996d32
|
Add --watchfd option values to an array as well as to the currently used variables (#12).
|
2025-09-17 22:12:45 +01:00 |
|
Andrew Wood
|
4a0f9e713c
|
Define struct pvwatchspec_s for future use in an array for --watchfd, and add a comment defining nullable_string_t.
|
2025-09-16 23:05:41 +01:00 |
|
Andrew Wood
|
8771b901d9
|
Add TODO markers as part of looking at supporting multiple "-d" options (#12).
|
2025-09-15 20:12:55 +01:00 |
|
Andrew Wood
|
f70627c031
|
Pass through indent.
|
2025-09-14 16:42:08 +01:00 |
|
Andrew Wood
|
1e6c9704b1
|
Adjustments to remove the need for the unqualifiedtrans and nullstate splint workarounds.
|
2025-09-14 16:39:47 +01:00 |
|