Andrea Mazzoleni
|
b959f0056e
|
Quiesce read-ahead before thermal spin-down
|
2026-08-18 23:33:58 +02:00 |
|
Andrea Mazzoleni
|
ef6fa54ee2
|
Fix parity writer error propagation in io_flush and abort sync on parity write failures
|
2026-08-18 23:33:58 +02:00 |
|
Andrea Mazzoleni
|
e5246cc309
|
Fix io_flush_thread() to wait for in-flight writer tasks before returning
|
2026-08-18 23:33:58 +02:00 |
|
Andrea Mazzoleni
|
eebb3943e5
|
Protect rate limiter state updates with a mutex to prevent data races
|
2026-08-18 23:33:57 +02:00 |
|
Andrea Mazzoleni
|
bbcdb72a9f
|
Introduce nalloc_nofail
|
2026-08-18 23:33:55 +02:00 |
|
Andrea Mazzoleni
|
dcb7327f15
|
Document why thread_yield is used
|
2026-08-18 23:33:55 +02:00 |
|
Andrea Mazzoleni
|
00b4cbafd0
|
Merge the CLI and Daemon portable interface
|
2026-08-18 23:33:55 +02:00 |
|
Andrea Mazzoleni
|
d7c6a27c6d
|
Refactor portable support
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
76998613da
|
Remove the unused number of data disks from the vector allocation
The same addressing rules are applied to the parity disks because
they are used as data disks during recovery operations.
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
58fece3584
|
Extend io_init() to support arbitrary combinations of data and parity operations
|
2026-08-18 23:33:53 +02:00 |
|
Andrea Mazzoleni
|
54602422dd
|
Change commenting style
|
2026-08-18 23:33:52 +02:00 |
|
Andrea Mazzoleni
|
c8cb392a89
|
Move task ring list mutation under io_mutex for code hygiene, no bug
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL Advanced / Analyze (c-cpp) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
|
2026-07-06 17:01:34 +02:00 |
|
Andrea Mazzoleni
|
c837a9ace0
|
Log more information in assertion failure
|
2026-06-15 11:16:19 +02:00 |
|
Andrea Mazzoleni
|
5a664a4100
|
Avoid the limitation of 255 disks for the IO subsystem
|
2026-05-21 16:08:03 +02:00 |
|
Andrea Mazzoleni
|
0d0431a907
|
Simpler Copyright string
|
2026-04-09 17:56:49 +02:00 |
|
Christoph Hellwig
|
60269a1236
|
Use SPDX (https://spdx.dev/) tags to identify the license used for each
file, and a COPYING file explaining the licensing scheme, with the actual
licenses listed in the LICENSES/ directory.
|
2026-04-02 16:01:37 +02:00 |
|
Andrea Mazzoleni
|
2b1e356099
|
Always use the mutex when scanning disks
|
2026-02-28 09:18:20 +01:00 |
|
Andrea Mazzoleni
|
881add341f
|
Some more assertions
|
2025-10-27 16:22:52 +01:00 |
|
Andrea Mazzoleni
|
36b20e5d0e
|
Explain the internal functionality of the IO system
|
2025-10-27 15:55:13 +01:00 |
|
Andrea Mazzoleni
|
30474cfb80
|
Ensure that writer buffers are flushed before synchronizing parity writes
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
|
2025-09-25 15:32:34 +02:00 |
|
Allan Clark
|
5886923bb1
|
Add bandwidth limit feature --bw-limit
|
2025-03-29 19:29:55 +01:00 |
|
Andrea Mazzoleni
|
eb19c79039
|
Increase default disk cache to 16 MiB
|
2022-01-09 17:46:10 +01:00 |
|
Andrea Mazzoleni
|
4653dde7c5
|
Fixed false positive warnings from static analysis
The number of buffer and the hash size are always a small number. It never reash the 4 GB limit.
|
2021-05-30 15:50:13 +02:00 |
|
Andrea Mazzoleni
|
53801b407a
|
Remove the need of the MingW pthread layer on the Windows port
Now everything is implemented usign Windows native calls.
|
2021-05-26 00:21:52 +02:00 |
|
Andrea Mazzoleni
|
2a5b5499c4
|
Avoid to recompute the block status multiple times
Store it in a bit vector and reuse the result.
|
2021-05-22 11:37:36 +02:00 |
|
Andrea Mazzoleni
|
f0a5268d32
|
Avoid to use the filesystem mutex when it's not necessary
This speed-up a bit the check and fix that are monothreads
|
2021-05-22 10:14:56 +02:00 |
|
Andrea Mazzoleni
|
5bac3d64a6
|
Fix build errors due new gcc 10 default for -fno-common
|
2020-05-18 15:28:55 +02:00 |
|
Andrea Mazzoleni
|
f68694904d
|
Cleanup the memory messages
|
2018-01-14 15:20:57 +01:00 |
|
Andrea Mazzoleni
|
b9740e06f4
|
Print filenames in the stats screen
|
2017-11-24 22:17:24 +01:00 |
|
Andrea Mazzoleni
|
21241c5078
|
Preliminary advise support
|
2016-05-15 14:50:59 +02:00 |
|
Andrea Mazzoleni
|
8d3cefb302
|
Allow compilation without pthread support
|
2016-03-18 18:45:35 +01:00 |
|
Andrea Mazzoleni
|
fe3ad31cbb
|
Allow to disable the multithread mode
Use the --test-io-cache=1 option to use a special
monothread mode.
|
2016-03-18 18:33:11 +01:00 |
|
Andrea Mazzoleni
|
93f25c4bc4
|
Rename the io->mutex variable to io->io_mutex
This simplifies text search for mutexes.
|
2016-02-13 16:05:20 +01:00 |
|
Andrea Mazzoleni
|
0707b1f446
|
Error check all the thread operations
No error is expected, and this enforces that expectation.
|
2016-02-13 16:05:19 +01:00 |
|
Andrea Mazzoleni
|
3c6a7bac3e
|
Make the conditional variable signaling configurable at runtime
This allows to verify if the signaling outside the mutex gives
any performance improvment.
|
2016-02-13 16:05:19 +01:00 |
|
Andrea Mazzoleni
|
42330c05b6
|
In Windows use the safe signaling
This mostly to detect possible problems in the Windows pthread implementation
|
2016-02-12 19:10:01 +01:00 |
|
Andrea Mazzoleni
|
29ed19174f
|
Cleanup pthread usage
No functional change.
|
2016-02-06 15:08:11 +01:00 |
|
Andrea Mazzoleni
|
62a760a42b
|
Change two wrong block_off_t types
|
2016-01-31 18:58:02 +01:00 |
|
Andrea Mazzoleni
|
252d613eae
|
Print stats of the number of cached blocks
|
2016-01-27 20:37:31 +01:00 |
|
Andrea Mazzoleni
|
377352e64f
|
Default to 8 MiB of blocks for the IO cache
|
2016-01-20 22:03:14 +01:00 |
|
Andrea Mazzoleni
|
e2c4399e28
|
More precise disk usage time
When we wait, we now count the time for all the waiting disks,
and not only for the first one that finish.
|
2016-01-20 21:30:00 +01:00 |
|
Andrea Mazzoleni
|
2156c864b7
|
Remove the shadow 'index' variable with older gcc
|
2016-01-18 22:58:00 +01:00 |
|
Andrea Mazzoleni
|
9ade11483e
|
Fix some misuses of the MiB and MB units
|
2016-01-16 07:29:00 +01:00 |
|
Andrea Mazzoleni
|
7cb33cc046
|
Add the new --test-io-cache option to control the cache size
|
2016-01-11 18:54:53 +01:00 |
|
Andrea Mazzoleni
|
2e12b10590
|
Signal condition variables outside the lock
This reduces the number of context switches, because the
signaled thread can start immediately.
Some interesting discussion is at:
Condvars: signal with mutex locked or not?
http://www.domaigne.com/blog/computing/condvars-signal-with-mutex-locked-or-not/
Calling pthread_cond_signal without locking mutex
4544494 (4544494)
|
2016-01-09 10:25:56 +01:00 |
|
Andrea Mazzoleni
|
8e47e2b024
|
Signal the 'done' condition only at the waiting index
This reduces the number of context switches.
|
2016-01-09 10:25:56 +01:00 |
|
Andrea Mazzoleni
|
22d806a04f
|
Minor beatification at the IO module
|
2016-01-09 10:25:56 +01:00 |
|
Andrea Mazzoleni
|
fb404ef149
|
Print the amount of memory used for MT
|
2016-01-09 10:25:56 +01:00 |
|
Andrea Mazzoleni
|
4191989fa7
|
Restore error reporting for parity write
|
2016-01-09 10:25:56 +01:00 |
|
Andrea Mazzoleni
|
a3121c31c5
|
Add support for multithread parity writing in sync
|
2016-01-09 10:25:56 +01:00 |
|