Vitaliy Filippov
99c45bb5ed
Fix debugging output during journal loading
2020-10-24 01:08:33 +03:00
Vitaliy Filippov
701eb79422
Stabilize writes before deleting extra chunks to not stall peer journals
2020-10-23 22:45:05 +03:00
Vitaliy Filippov
220bda0667
Fix possible buffer over(under)flow when handling LIST
2020-10-23 02:17:44 +03:00
Vitaliy Filippov
1e8f0328e0
Cancel outbound operations after re-peering PGs
2020-10-22 22:54:38 +00:00
Vitaliy Filippov
f011e0c675
Do not block stabilize by list and list by write
2020-10-22 22:13:40 +00:00
Vitaliy Filippov
1a694c387e
Print slow ops in log
2020-10-20 23:41:23 +00:00
Vitaliy Filippov
738ad5af79
Fix infinite looping in continue_recovery_op() when pg_cancel_write_queue() is called
2020-10-20 22:23:15 +00:00
Vitaliy Filippov
9abf3c17c9
Correct fix for "Pool %u PG %u configuration is invalid" during startup
...
Establish watcher connection after loading PGs
2020-10-20 21:09:14 +00:00
Vitaliy Filippov
d2b901aa09
Fix default auto-created failure domains
2020-10-20 21:07:40 +00:00
Vitaliy Filippov
befff09370
Fix possible crash due to uninitialized ring_data_t in ringloop
2020-10-20 10:44:38 +03:00
Vitaliy Filippov
d1645551d4
Implement write batching
...
Also fix possible race condition which could in theory lead to "command out of sync"
and a buffer overflow that could happen on incorrect server response.
2020-10-20 03:29:17 +03:00
Vitaliy Filippov
7cb561f95a
Add etcd to the example service generator
2020-10-20 01:50:56 +03:00
Vitaliy Filippov
ae480196e2
Add a note about etcd bug, fix simple-offsets.js cmdline
2020-10-19 17:05:45 +03:00
Vitaliy Filippov
398c86f943
Improve PG-related log messages
2020-10-18 12:17:22 +00:00
Vitaliy Filippov
bec5f921a6
Fix buffer overflows in the no_same_sector_overwrites mode
2020-10-17 23:30:16 +00:00
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