Andrea Mazzoleni
7ac780c0ea
Introduce nalloc_nofail
2026-07-13 11:03:57 +02:00
Andrea Mazzoleni
4afa222596
Document why thread_yield is used
2026-07-13 11:03:57 +02:00
Andrea Mazzoleni
3ce5a5b4e5
Merge the CLI and Daemon portable interface
2026-07-13 11:03:57 +02:00
Andrea Mazzoleni
db20376bca
Refactor portable support
2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
ebfffa26d2
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-07-13 11:03:56 +02:00
Andrea Mazzoleni
03af6db601
Extend io_init() to support arbitrary combinations of data and parity operations
2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
21673eb805
Change commenting style
2026-07-13 11:03:55 +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
Andrea Mazzoleni
62b7587c3a
IO functions renaming to prepare for parity write support
...
No functional change.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
cbf2040b89
Add mutex protection at the filesystem structure
...
In sync we need to modify the filesystem, like to call
fs_deallocate(). We need then proper protection.
This also removes the need of multiple fs_last cached value.
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
51af8931b7
Add support for multithread data and parity reading in scrub
2016-01-09 10:18:14 +01:00