-
0a174bb313
Return success for already finished rollback operations
Vitaliy Filippov
2020-10-24 18:46:13 +03:00
-
720985e4c7
Fix NULL rmw buffer after the latest changes and add a testcase for it
Vitaliy Filippov
2020-10-24 18:28:57 +03:00
-
4872f617a4
Clear connect timeout in stop_client() to stop races during disconnections
Vitaliy Filippov
2020-10-24 10:37:16 +03:00
-
e8ac08be14
Allow to overwrite incomplete objects or parts of objects to recover them
Vitaliy Filippov
2020-10-24 02:14:41 +03:00
-
660c2412fb
Improve debugging output for incomplete/degraded
Vitaliy Filippov
2020-10-24 01:19:20 +03:00
-
faa5e1436f
Attempt journal trim even without new flushes
Vitaliy Filippov
2020-10-24 00:52:21 +03:00
-
5fbe36198a
Fix journal trimming
Vitaliy Filippov
2020-10-24 00:27:03 +03:00
-
99c45bb5ed
Fix debugging output during journal loading
Vitaliy Filippov
2020-10-24 00:56:38 +03:00
-
701eb79422
Stabilize writes before deleting extra chunks to not stall peer journals
Vitaliy Filippov
2020-10-23 22:45:05 +03:00
-
220bda0667
Fix possible buffer over(under)flow when handling LIST
Vitaliy Filippov
2020-10-23 02:17:44 +03:00
-
1e8f0328e0
Cancel outbound operations after re-peering PGs
Vitaliy Filippov
2020-10-22 22:54:38 +00:00
-
f011e0c675
Do not block stabilize by list and list by write
Vitaliy Filippov
2020-10-21 23:44:16 +00:00
-
1a694c387e
Print slow ops in log
Vitaliy Filippov
2020-10-20 23:41:23 +00:00
-
738ad5af79
Fix infinite looping in continue_recovery_op() when pg_cancel_write_queue() is called
Vitaliy Filippov
2020-10-20 21:56:01 +00:00
-
9abf3c17c9
Correct fix for "Pool %u PG %u configuration is invalid" during startup
Vitaliy Filippov
2020-10-20 21:09:11 +00:00
-
d2b901aa09
Fix default auto-created failure domains
Vitaliy Filippov
2020-10-20 21:07:40 +00:00
-
befff09370
Fix possible crash due to uninitialized ring_data_t in ringloop
Vitaliy Filippov
2020-10-20 10:44:38 +03:00
-
d1645551d4
Implement write batching
Vitaliy Filippov
2020-10-20 03:29:17 +03:00
-
7cb561f95a
Add etcd to the example service generator
Vitaliy Filippov
2020-10-20 01:50:56 +03:00
-
ae480196e2
Add a note about etcd bug, fix simple-offsets.js cmdline
Vitaliy Filippov
2020-10-19 17:05:45 +03:00
-
398c86f943
Improve PG-related log messages
Vitaliy Filippov
2020-10-17 23:29:56 +00:00
-
bec5f921a6
Fix buffer overflows in the no_same_sector_overwrites mode
Vitaliy Filippov
2020-10-17 22:50:54 +00:00
-
5335c8de8e
Do not use unordered_map for list_ops/list_results
Vitaliy Filippov
2020-10-17 22:41:06 +00:00
-
c696a82083
Replace assert with if + error message (may happen on metadata corruption)
Vitaliy Filippov
2020-10-17 22:40:19 +00:00
-
900171586b
XOR 2+1 test results
Vitaliy Filippov
2020-10-17 14:58:08 +03:00
-
70612e5df0
Do not handle change events before loading config
Vitaliy Filippov
2020-10-17 11:18:39 +00:00
-
d952c24979
Use timeout in rw callback
Vitaliy Filippov
2020-10-17 11:00:55 +00:00
-
776fe954a5
Fix crashes on multiple OSD reconnects
Vitaliy Filippov
2020-10-17 10:52:21 +00:00
-
9350656af6
Fix osd tags
Vitaliy Filippov
2020-10-16 23:28:48 +00:00
-
ece14a7d65
Hide "Connected with..." client messages by default
Vitaliy Filippov
2020-10-11 02:14:15 +03:00
-
be5f314c32
Change notes about gcc requirement to 9+, fio to 3.16+
Vitaliy Filippov
2020-10-11 02:00:39 +03:00
-
15dba96375
Implement inode removal tool. Removes multiple objects from multiple OSDs in parallel
Vitaliy Filippov
2020-10-09 21:56:47 +00:00
-
3d05aa9362
Make it build with GCC 10, fio 3.20+ (atomics...) and QEMU 5.1
Vitaliy Filippov
2020-10-06 02:35:11 +03:00
-
94efb54feb
Implement OSD tags (device classes), fix pool failure_domain configuration
Vitaliy Filippov
2020-10-04 17:20:09 +03:00
-
aa2a0ee00f
Do not group adjacent stripes by default as it's pointless on SSDs
Vitaliy Filippov
2020-10-02 10:17:53 +03:00
-
9f2a948712
Make pg_stripe_size a per-pool config
Vitaliy Filippov
2020-10-01 18:51:49 +03:00
-
ba74eece4a
More fixes to the failure model (why am I doing this?..)
Vitaliy Filippov
2020-10-01 18:38:30 +03:00
-
2fdd8a1b38
More correct failure model (I hope so)
Vitaliy Filippov
2020-10-01 02:33:48 +03:00
-
526983f7a9
Add usable CLI commands for NBD proxy (map/unmap/list)
Vitaliy Filippov
2020-09-29 01:47:11 +03:00
-
8e36f04482
One more experiment with cluster AFR%
Vitaliy Filippov
2020-09-27 19:42:42 +03:00
-
f460d8c1c8
Add note about NBD
Vitaliy Filippov
2020-09-26 00:11:55 +03:00
-
7619a789c0
Set request size in NBD
Vitaliy Filippov
2020-09-26 00:01:23 +03:00
-
e65a28e27e
Implement a simple NBD proxy (does not daemonize yet)
Vitaliy Filippov
2020-09-25 20:50:57 +03:00
-
6852f299ae
Add functions to calculate AFR for a cluster
Vitaliy Filippov
2020-09-24 23:14:22 +03:00
-
1967269c13
Resume operations in cluster_client when PGs are loaded (fixes a hang in qemu-img)
Vitaliy Filippov
2020-09-20 01:47:09 +03:00
-
7574183ba6
Make qemu driver build with QEMU 3.x
Vitaliy Filippov
2020-09-20 01:46:07 +03:00
-
108cd6312d
Correct some typos in README, add note about qemu-img
Vitaliy Filippov
2020-09-20 01:45:54 +03:00
-
588b9e6393
Add README
Vitaliy Filippov
2020-09-17 23:07:50 +03:00
-
0471b09b9c
Add license notices to all source code files
Vitaliy Filippov
2020-09-17 23:02:40 +03:00
-
ef911555ed
Add cpp-btree and json11 submodules
Vitaliy Filippov
2020-09-17 22:46:36 +03:00
-
9d20839a02
Add license texts
Vitaliy Filippov
2020-09-17 22:44:14 +03:00
-
67a2e5640c
Fix a GIANT memory leak on read :D
Vitaliy Filippov
2020-09-16 23:19:32 +03:00
-
28a0f08ce7
Add a very simple tool for calculating device offsets
Vitaliy Filippov
2020-09-16 22:46:12 +03:00
-
9b4e5b64ae
Move monitor to mon/
Vitaliy Filippov
2020-09-16 02:15:26 +03:00
-
4ca2eeafff
Prefer data OSDs for EC/XOR because they can actually read something locally
Vitaliy Filippov
2020-09-16 01:34:18 +03:00
-
79156e0ee1
Add test systemd unit generation script
Vitaliy Filippov
2020-09-13 12:50:15 +03:00
-
ed26c33f85
React to down OSDs instantly, set timer to recheck PGs after <osd_out_time>
Vitaliy Filippov
2020-09-13 12:23:11 +03:00
-
18692517be
Increase receive_buffer_size
Vitaliy Filippov
2020-09-13 00:39:20 +03:00
-
de6919b02b
Add option to disable multiple overwrites of the same journal sector
Vitaliy Filippov
2020-09-12 19:14:51 +03:00
-
8f9f438e25
Allow zero reweights, fix changing pgs
Vitaliy Filippov
2020-09-11 23:59:30 +03:00
-
db4b82089e
connecting=true was also forgotten
Vitaliy Filippov
2020-09-11 19:51:17 +03:00
-
faa871090f
Do not die in mon on bad JSON in etcd
Vitaliy Filippov
2020-09-11 19:25:52 +03:00
-
49ec8c7c63
Add --verbose 1 flag for mon
Vitaliy Filippov
2020-09-11 18:49:03 +03:00
-
eadd454992
Fix etcd key regexps
Vitaliy Filippov
2020-09-11 18:33:49 +03:00
-
a15bd23ebd
Missed a bad PG key
Vitaliy Filippov
2020-09-11 17:56:18 +03:00
-
e3f502b466
Oops, I forgot a file
Vitaliy Filippov
2020-09-11 17:49:44 +03:00
-
6e72cf2732
Disable stdout/stderr buffering
Vitaliy Filippov
2020-09-11 16:52:51 +03:00
-
53832d184a
Allow to use lazy sync with replicated pools
Vitaliy Filippov
2020-09-06 12:08:44 +03:00
-
352caeba14
Fix one more bug with replicated reads
Vitaliy Filippov
2020-09-06 02:27:44 +03:00
-
fb533991b7
"Lock" retried objects from other flushers when accounting for overruns
Vitaliy Filippov
2020-09-06 02:19:30 +03:00
-
73e26dbbea
Add up_wait_retry_interval to config and fix it so it actually works
Vitaliy Filippov
2020-09-05 22:05:21 +03:00
-
44973e7f27
Fix replicated pool bugs
Vitaliy Filippov
2020-09-05 17:24:27 +03:00
-
242d9a42a2
Change object format in prints to %lx:%lx v%lu
Vitaliy Filippov
2020-09-05 17:20:08 +03:00
-
68c3e96e46
Add pool setting to fio and qemu drivers
Vitaliy Filippov
2020-09-05 17:09:20 +03:00
-
cc4714a3a7
Basic fixes for the Monitor
Vitaliy Filippov
2020-09-05 02:14:43 +03:00
-
e051db5a73
Check for unsuccessful memory allocations
Vitaliy Filippov
2020-09-05 01:09:10 +03:00
-
4f9b5286a0
Add replicated pool support to OSD logic
Vitaliy Filippov
2020-09-04 22:17:44 +03:00
-
168cc2c803
Add pool support to OSD, part 1
Vitaliy Filippov
2020-09-04 10:54:21 +03:00
-
4cdad634b5
Add pool support to the cluster client
Vitaliy Filippov
2020-09-03 00:52:41 +03:00
-
293cb5bd1d
Parse pool configuration in etcd_state_client
Vitaliy Filippov
2020-09-02 21:54:32 +03:00
-
0918ea08fa
Implement min/max inode filters in LIST operation
Vitaliy Filippov
2020-09-02 14:42:40 +03:00
-
a8b3cbd6af
Implement per-pool PG calculation, fix some lint warnings
Vitaliy Filippov
2020-09-01 18:50:23 +03:00
-
fe0d78bf8e
Filter configuration keys with regexps instead of "osd_tree" value checks
Vitaliy Filippov
2020-09-01 17:07:06 +03:00
-
085c145a18
Document etcd data (to-be state with pools) at least in some form
Vitaliy Filippov
2020-09-01 16:29:42 +03:00
-
30da4bddbe
Extract scale_pg_count into a separate file
Vitaliy Filippov
2020-09-01 02:22:50 +03:00
-
14b4a4617e
(re)move placement_tree
Vitaliy Filippov
2020-09-01 02:13:03 +03:00
-
3932c9b2e2
Add WRITE_STABLE to the secondary OSD for the upcoming replication support
Vitaliy Filippov
2020-09-01 00:02:39 +03:00
-
2e8c69fc5b
Rename OSD_OP_SECONDARY_* to OSD_OP_SEC_*
Vitaliy Filippov
2020-08-31 23:57:50 +03:00
-
a86788fe3b
Support optimizing for the case when parity chunks occupy more space than data chunks
Vitaliy Filippov
2020-08-16 21:54:55 +03:00
-
95ebfad283
Final name is Vitastor
Vitaliy Filippov
2020-08-03 23:50:50 +03:00
-
6022f28dc9
Add pseudo-random PG generation
Vitaliy Filippov
2020-07-06 00:00:56 +03:00
-
9d10a4d057
Support arbitrary pg_size in LPOptimizer
Vitaliy Filippov
2020-07-05 18:20:52 +03:00
-
ec7acc8f3a
Add WRITE_STABLE operation for future replication support
Vitaliy Filippov
2020-07-05 01:48:02 +03:00
-
416a80b099
Make blockstore object state a combination of type and workflow
Vitaliy Filippov
2020-07-04 22:15:58 +03:00
-
a7929931eb
Implement PG epochs to prevent the "version split"
Vitaliy Filippov
2020-07-02 00:41:28 +03:00
-
e680d6c1c3
Rename reconstruct_stripe and calc_rmw_parity to indicate that they are only for XOR N+1
Vitaliy Filippov
2020-06-30 10:40:43 +03:00
-
9b33f598d3
Fix two more cluster client bugs
Vitaliy Filippov
2020-06-27 02:13:33 +03:00
-
592bcd3699
Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!)
Vitaliy Filippov
2020-06-26 02:18:58 +03:00
-
5e1e39633d
Implement QEMU block driver
Vitaliy Filippov
2020-06-25 11:59:31 +03:00
-
41c2655edd
Disconnect sockets when read returns zero
Vitaliy Filippov
2020-06-24 01:32:19 +03:00