Vitaliy Filippov
5335c8de8e
Do not use unordered_map for list_ops/list_results
2020-10-17 23:30:16 +00:00
Vitaliy Filippov
c696a82083
Replace assert with if + error message (may happen on metadata corruption)
2020-10-17 23:30:16 +00:00
Vitaliy Filippov
900171586b
XOR 2+1 test results
2020-10-17 14:58:08 +03:00
Vitaliy Filippov
70612e5df0
Do not handle change events before loading config
2020-10-17 11:18:39 +00:00
Vitaliy Filippov
d952c24979
Use timeout in rw callback
2020-10-17 11:00:55 +00:00
Vitaliy Filippov
776fe954a5
Fix crashes on multiple OSD reconnects
...
Identify clients by pointers instead of peer_fd as peer may be dropped
and reconnected between callbacks
Yeah maybe I need some Rust, but ... maybe in the future :)
2020-10-17 10:53:04 +00:00
Vitaliy Filippov
9350656af6
Fix osd tags
2020-10-16 23:28:48 +00:00
Vitaliy Filippov
ece14a7d65
Hide "Connected with..." client messages by default
2020-10-11 02:22:46 +03:00
Vitaliy Filippov
be5f314c32
Change notes about gcc requirement to 9+, fio to 3.16+
2020-10-11 02:00:39 +03:00
Vitaliy Filippov
15dba96375
Implement inode removal tool. Removes multiple objects from multiple OSDs in parallel
2020-10-10 01:08:19 +03:00
Vitaliy Filippov
3d05aa9362
Make it build with GCC 10, fio 3.20+ (atomics...) and QEMU 5.1
2020-10-06 02:35:11 +03:00
Vitaliy Filippov
94efb54feb
Implement OSD tags (device classes), fix pool failure_domain configuration
2020-10-04 17:31:50 +03:00
Vitaliy Filippov
aa2a0ee00f
Do not group adjacent stripes by default as it's pointless on SSDs
2020-10-02 10:17:54 +03:00
Vitaliy Filippov
9f2a948712
Make pg_stripe_size a per-pool config
2020-10-01 18:51:49 +03:00
Vitaliy Filippov
ba74eece4a
More fixes to the failure model (why am I doing this?..)
2020-10-01 18:38:30 +03:00
Vitaliy Filippov
2fdd8a1b38
More correct failure model (I hope so)
2020-10-01 02:33:48 +03:00
Vitaliy Filippov
526983f7a9
Add usable CLI commands for NBD proxy (map/unmap/list)
2020-09-29 02:06:19 +03:00
Vitaliy Filippov
8e36f04482
One more experiment with cluster AFR%
2020-09-27 19:42:42 +03:00
Vitaliy Filippov
f460d8c1c8
Add note about NBD
2020-09-26 00:11:55 +03:00
Vitaliy Filippov
7619a789c0
Set request size in NBD
2020-09-26 00:01:23 +03:00
Vitaliy Filippov
e65a28e27e
Implement a simple NBD proxy (does not daemonize yet)
2020-09-25 20:51:01 +03:00
Vitaliy Filippov
6852f299ae
Add functions to calculate AFR for a cluster
2020-09-24 23:15:26 +03:00
Vitaliy Filippov
1967269c13
Resume operations in cluster_client when PGs are loaded (fixes a hang in qemu-img)
2020-09-20 01:50:19 +03:00
Vitaliy Filippov
7574183ba6
Make qemu driver build with QEMU 3.x
2020-09-20 01:50:19 +03:00
Vitaliy Filippov
108cd6312d
Correct some typos in README, add note about qemu-img
2020-09-20 01:50:19 +03:00
Vitaliy Filippov
588b9e6393
Add README
2020-09-17 23:07:50 +03:00
Vitaliy Filippov
0471b09b9c
Add license notices to all source code files
2020-09-17 23:07:06 +03:00
Vitaliy Filippov
ef911555ed
Add cpp-btree and json11 submodules
2020-09-17 23:07:06 +03:00
Vitaliy Filippov
9d20839a02
Add license texts
2020-09-17 23:07:06 +03:00
Vitaliy Filippov
67a2e5640c
Fix a GIANT memory leak on read :D
2020-09-17 00:45:59 +03:00
Vitaliy Filippov
28a0f08ce7
Add a very simple tool for calculating device offsets
2020-09-17 00:45:59 +03:00
Vitaliy Filippov
9b4e5b64ae
Move monitor to mon/
2020-09-16 02:15:26 +03:00
Vitaliy Filippov
4ca2eeafff
Prefer data OSDs for EC/XOR because they can actually read something locally
2020-09-16 01:34:18 +03:00
Vitaliy Filippov
79156e0ee1
Add test systemd unit generation script
2020-09-13 12:50:15 +03:00
Vitaliy Filippov
ed26c33f85
React to down OSDs instantly, set timer to recheck PGs after <osd_out_time>
2020-09-13 12:23:18 +03:00
Vitaliy Filippov
18692517be
Increase receive_buffer_size
2020-09-13 00:39:20 +03:00
Vitaliy Filippov
de6919b02b
Add option to disable multiple overwrites of the same journal sector
...
This makes sense for some SSDs like Intel D3-4510 because they don't
like overwrites of the same sector:
$ fio -direct=1 -rw=write -bs=4k -size=4k -loops=100000 -iodepth=1
write: IOPS=3142, BW=12.3MiB/s (12.9MB/s)(97.9MiB/7977msec)
$ fio -direct=1 -rw=write -bs=4k -size=128k -loops=100000 -iodepth=1
write: IOPS=20.8k, BW=81.4MiB/s (85.3MB/s)(543MiB/6675msec)
2020-09-13 00:37:39 +03:00
Vitaliy Filippov
8f9f438e25
Allow zero reweights, fix changing pgs
2020-09-11 23:59:30 +03:00
Vitaliy Filippov
db4b82089e
connecting=true was also forgotten
2020-09-11 19:51:17 +03:00
Vitaliy Filippov
faa871090f
Do not die in mon on bad JSON in etcd
2020-09-11 19:25:52 +03:00
Vitaliy Filippov
49ec8c7c63
Add --verbose 1 flag for mon
2020-09-11 18:49:07 +03:00
Vitaliy Filippov
eadd454992
Fix etcd key regexps
2020-09-11 18:33:49 +03:00
Vitaliy Filippov
a15bd23ebd
Missed a bad PG key
2020-09-11 17:56:18 +03:00
Vitaliy Filippov
e3f502b466
Oops, I forgot a file
2020-09-11 17:49:44 +03:00
Vitaliy Filippov
6e72cf2732
Disable stdout/stderr buffering
2020-09-11 16:52:51 +03:00
Vitaliy Filippov
53832d184a
Allow to use lazy sync with replicated pools
2020-09-06 12:08:44 +03:00
Vitaliy Filippov
352caeba14
Fix one more bug with replicated reads
2020-09-06 02:27:44 +03:00
Vitaliy Filippov
fb533991b7
"Lock" retried objects from other flushers when accounting for overruns
...
Fixes a rare 100% CPU consuming hang
2020-09-06 02:19:36 +03:00
Vitaliy Filippov
73e26dbbea
Add up_wait_retry_interval to config and fix it so it actually works
2020-09-05 22:05:21 +03:00
Vitaliy Filippov
44973e7f27
Fix replicated pool bugs
2020-09-05 21:45:04 +03:00