This website requires JavaScript.
0471b09b9c
Add license notices to all source code files
Vitaliy Filippov
2020-09-17 23:02:40 +0300
ef911555ed
Add cpp-btree and json11 submodules
Vitaliy Filippov
2020-09-17 22:46:36 +0300
9d20839a02
Add license texts
Vitaliy Filippov
2020-09-17 22:44:14 +0300
67a2e5640c
Fix a GIANT memory leak on read :D
Vitaliy Filippov
2020-09-16 23:19:32 +0300
28a0f08ce7
Add a very simple tool for calculating device offsets
Vitaliy Filippov
2020-09-16 22:46:12 +0300
9b4e5b64ae
Move monitor to mon/
Vitaliy Filippov
2020-09-16 02:15:26 +0300
4ca2eeafff
Prefer data OSDs for EC/XOR because they can actually read something locally
Vitaliy Filippov
2020-09-16 01:34:18 +0300
79156e0ee1
Add test systemd unit generation script
Vitaliy Filippov
2020-09-13 12:50:15 +0300
ed26c33f85
React to down OSDs instantly, set timer to recheck PGs after <osd_out_time>
Vitaliy Filippov
2020-09-13 12:23:11 +0300
18692517be
Increase receive_buffer_size
Vitaliy Filippov
2020-09-13 00:39:20 +0300
de6919b02b
Add option to disable multiple overwrites of the same journal sector
Vitaliy Filippov
2020-09-12 19:14:51 +0300
8f9f438e25
Allow zero reweights, fix changing pgs
Vitaliy Filippov
2020-09-11 23:59:30 +0300
db4b82089e
connecting=true was also forgotten
Vitaliy Filippov
2020-09-11 19:51:17 +0300
faa871090f
Do not die in mon on bad JSON in etcd
Vitaliy Filippov
2020-09-11 19:25:52 +0300
49ec8c7c63
Add --verbose 1 flag for mon
Vitaliy Filippov
2020-09-11 18:49:03 +0300
eadd454992
Fix etcd key regexps
Vitaliy Filippov
2020-09-11 18:33:49 +0300
a15bd23ebd
Missed a bad PG key
Vitaliy Filippov
2020-09-11 17:56:18 +0300
e3f502b466
Oops, I forgot a file
Vitaliy Filippov
2020-09-11 17:49:44 +0300
6e72cf2732
Disable stdout/stderr buffering
Vitaliy Filippov
2020-09-11 16:52:51 +0300
53832d184a
Allow to use lazy sync with replicated pools
Vitaliy Filippov
2020-09-06 12:08:44 +0300
352caeba14
Fix one more bug with replicated reads
Vitaliy Filippov
2020-09-06 02:27:44 +0300
fb533991b7
"Lock" retried objects from other flushers when accounting for overruns
Vitaliy Filippov
2020-09-06 02:19:30 +0300
73e26dbbea
Add up_wait_retry_interval to config and fix it so it actually works
Vitaliy Filippov
2020-09-05 22:05:21 +0300
44973e7f27
Fix replicated pool bugs
Vitaliy Filippov
2020-09-05 17:24:27 +0300
242d9a42a2
Change object format in prints to %lx:%lx v%lu
Vitaliy Filippov
2020-09-05 17:20:08 +0300
68c3e96e46
Add pool setting to fio and qemu drivers
Vitaliy Filippov
2020-09-05 17:09:20 +0300
cc4714a3a7
Basic fixes for the Monitor
Vitaliy Filippov
2020-09-05 02:14:43 +0300
e051db5a73
Check for unsuccessful memory allocations
Vitaliy Filippov
2020-09-05 01:09:10 +0300
4f9b5286a0
Add replicated pool support to OSD logic
Vitaliy Filippov
2020-09-04 22:17:44 +0300
168cc2c803
Add pool support to OSD, part 1
Vitaliy Filippov
2020-09-04 10:54:21 +0300
4cdad634b5
Add pool support to the cluster client
Vitaliy Filippov
2020-09-03 00:52:41 +0300
293cb5bd1d
Parse pool configuration in etcd_state_client
Vitaliy Filippov
2020-09-02 21:54:32 +0300
0918ea08fa
Implement min/max inode filters in LIST operation
Vitaliy Filippov
2020-09-02 14:42:40 +0300
a8b3cbd6af
Implement per-pool PG calculation, fix some lint warnings
Vitaliy Filippov
2020-09-01 18:50:23 +0300
fe0d78bf8e
Filter configuration keys with regexps instead of "osd_tree" value checks
Vitaliy Filippov
2020-09-01 17:07:06 +0300
085c145a18
Document etcd data (to-be state with pools) at least in some form
Vitaliy Filippov
2020-09-01 16:29:42 +0300
30da4bddbe
Extract scale_pg_count into a separate file
Vitaliy Filippov
2020-09-01 02:22:50 +0300
14b4a4617e
(re)move placement_tree
Vitaliy Filippov
2020-09-01 02:13:03 +0300
3932c9b2e2
Add WRITE_STABLE to the secondary OSD for the upcoming replication support
Vitaliy Filippov
2020-09-01 00:02:39 +0300
2e8c69fc5b
Rename OSD_OP_SECONDARY_* to OSD_OP_SEC_*
Vitaliy Filippov
2020-08-31 23:57:50 +0300
a86788fe3b
Support optimizing for the case when parity chunks occupy more space than data chunks
Vitaliy Filippov
2020-08-16 21:54:55 +0300
95ebfad283
Final name is Vitastor
Vitaliy Filippov
2020-08-03 23:50:50 +0300
6022f28dc9
Add pseudo-random PG generation
Vitaliy Filippov
2020-07-06 00:00:56 +0300
9d10a4d057
Support arbitrary pg_size in LPOptimizer
Vitaliy Filippov
2020-07-05 18:20:52 +0300
ec7acc8f3a
Add WRITE_STABLE operation for future replication support
Vitaliy Filippov
2020-07-05 01:48:02 +0300
416a80b099
Make blockstore object state a combination of type and workflow
Vitaliy Filippov
2020-07-04 22:15:58 +0300
a7929931eb
Implement PG epochs to prevent the "version split"
Vitaliy Filippov
2020-07-02 00:41:28 +0300
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 +0300
9b33f598d3
Fix two more cluster client bugs
Vitaliy Filippov
2020-06-27 02:13:33 +0300
592bcd3699
Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!)
Vitaliy Filippov
2020-06-26 02:18:58 +0300
5e1e39633d
Implement QEMU block driver
Vitaliy Filippov
2020-06-25 11:59:31 +0300
41c2655edd
Disconnect sockets when read returns zero
Vitaliy Filippov
2020-06-24 01:32:19 +0300
d68370304e
Support iovecs in cluster_client_t
Vitaliy Filippov
2020-06-24 01:31:48 +0300
a22d9f38aa
Only use EPOLLOUT while connecting
Vitaliy Filippov
2020-06-23 20:18:04 +0300
8736b3ad32
Add destructors, make ringloop optional in cluster_client_t
Vitaliy Filippov
2020-06-23 20:10:33 +0300
62343c8022
Allow to turn synchronous recvmsg/sendmsg on with a config option
Vitaliy Filippov
2020-06-22 23:44:32 +0300
9abaf5b735
Use epoll_manager in osd
Vitaliy Filippov
2020-06-20 01:28:18 +0300
badf68c039
Support iovecs for read operations
Vitaliy Filippov
2020-06-18 02:07:20 +0300
0f6d193d73
Postpone op callbacks to the end of handle_read(), fix a bug where primary OSD could reply -EPIPE with data to a read operation
Vitaliy Filippov
2020-06-16 01:36:38 +0300
27ee14a4e6
Fix bugs in cluster_client
Vitaliy Filippov
2020-06-15 13:22:20 +0300
64afec03ec
In theory, implement syncs and replay for the non-immediate commit mode
Vitaliy Filippov
2020-06-14 23:57:58 +0300
4dde8b8a42
Oops, fix fio_sec_osd block_order parsing
Vitaliy Filippov
2020-06-09 00:52:00 +0300
f5ccb154af
Benchmark reads in stub_bench, too
Vitaliy Filippov
2020-06-08 01:54:36 +0300
73c80e2c39
Move accept_connections() to osd_messenger_t, add a simple uring OSD stub
Vitaliy Filippov
2020-06-08 01:32:12 +0300
437dc5b630
Implement a FIO engine for testing cluster I/O
Vitaliy Filippov
2020-06-07 00:29:09 +0300
226f5a2945
Allow to override block_size in fio_sec_osd
Vitaliy Filippov
2020-06-06 17:17:13 +0300
2187d06eac
Add a parameter to pass the initial config to client
Vitaliy Filippov
2020-06-06 16:32:35 +0300
c573bc6bb3
(Probably almost) implement cluster client
Vitaliy Filippov
2020-06-06 01:39:58 +0300
2f6cf605a1
Rename cluster_client to osd_messenger
Vitaliy Filippov
2020-06-04 12:57:48 +0300
05ea97119f
Fix BS_OP_LIST to account for deleted objects: only list the newest stable entry of each object
Vitaliy Filippov
2020-06-02 23:41:55 +0300
571be0f380
Make deletions instantly stable
Vitaliy Filippov
2020-06-02 20:43:28 +0300
985c309d7f
Remove duplicate code between blockstore_{rollback,stable} and blockstore_init
Vitaliy Filippov
2020-06-02 20:29:45 +0300
a56f8cd14e
Simplify handle_primary_subop() arguments
Vitaliy Filippov
2020-06-02 18:44:23 +0300
46e111272f
Replace assert(this_it == cur_op) with if() for the case of PG repeering
Vitaliy Filippov
2020-06-02 14:30:57 +0300
165c204555
Fix BS_OP_DELETE (the implementation was untested up to this point)
Vitaliy Filippov
2020-06-02 14:02:39 +0300
af5cd45071
Oh crap, got SIGPIPE. Add MSG_NOSIGNAL
Vitaliy Filippov
2020-06-02 11:41:08 +0300
c3fe9ad0d1
Fix rebalancing writes (add a forgotten state resume)
Vitaliy Filippov
2020-06-02 01:18:36 +0300
0fcdeae18b
Do not die if a peer is already stopped on flush error
Vitaliy Filippov
2020-06-01 23:06:31 +0300
e6a4b634f8
Fix possible write stall
Vitaliy Filippov
2020-06-01 16:12:26 +0300
c22e096943
Output journal offsets in debug trace in hex, add detailed "still waiting" messages
Vitaliy Filippov
2020-06-01 01:55:54 +0300
45b1c2fbf1
Fix canceling of write operations on PG re-peer (which led to use-after-free, too...)
Vitaliy Filippov
2020-06-01 01:53:32 +0300
3469bead67
Protect "delete this" with a stack refcounter
Vitaliy Filippov
2020-06-01 00:47:49 +0300
3a5d488f19
Fix use-after-free in osd_flush.cpp
Vitaliy Filippov
2020-06-01 00:34:04 +0300
73e4e30b1f
Auto-generate C++ header dependencies
Vitaliy Filippov
2020-05-31 15:35:34 +0300
5feff1ffb9
Slightly cleanup socket send/receive code
Vitaliy Filippov
2020-05-31 15:03:27 +0300
b466e215f0
Fix queued OP_SYNC execution
Vitaliy Filippov
2020-05-27 13:55:25 +0300
36f995367f
Fix bind_address reporting
Vitaliy Filippov
2020-05-27 10:58:40 +0300
0aca6e9ca8
Extract peer connect and read-write loop into a separate file (to be shared with the client library)
Vitaliy Filippov
2020-05-26 21:23:01 +0300
fa98be6bc0
Allow to specify multiple etcd addresses
Vitaliy Filippov
2020-05-25 15:53:48 +0300
256a7f2667
Free op->bs_op manually
Vitaliy Filippov
2020-05-25 15:09:55 +0300
79bf57b6e2
Allow to override pg_stripe_size
Vitaliy Filippov
2020-05-25 15:28:32 +0300
53f6aba3e6
Die when journal_sector_buffer_count is too small
Vitaliy Filippov
2020-05-24 17:22:12 +0300
36595eb669
Print "Ran out of journal sector buffers" warning
Vitaliy Filippov
2020-05-24 16:48:50 +0300
e09d0e0678
Several bug fixes
Vitaliy Filippov
2020-05-24 00:55:03 +0300
d1602b50b3
Fix BS_OP_ROLLBACK removing an incorrect version
Vitaliy Filippov
2020-05-23 22:34:40 +0300
7df384031a
Re-peer PGs after stopping the peer
Vitaliy Filippov
2020-05-23 18:41:28 +0300
e614a98543
Add a sad FIXME :-)
Vitaliy Filippov
2020-05-23 15:38:40 +0300
01dd3ef89e
Fix timerfd_manager triggering of multiple times at the same time
Vitaliy Filippov
2020-05-23 15:33:32 +0300
cdccc23aff
Print [OSD $osd_num] in stats, print B/W only for ops that log bytes
Vitaliy Filippov
2020-05-23 15:19:51 +0300
700428829a
Fix autosync_interval default not setting when autosync_interval is skipped in config
Vitaliy Filippov
2020-05-23 15:11:33 +0300