This website requires JavaScript.
8bdd6d8d78
Reset PG state when stopping them
Vitaliy Filippov
2021-03-06 02:24:16 +03:00
09b3e4e789
Fix OSDs being unable to stop PGs that are 'peering', not 'active'
Vitaliy Filippov
2021-03-06 01:57:52 +03:00
07912fd670
Use history/last_clean_pgs to avoid extra data move when observing a series of changes in the cluster
Vitaliy Filippov
2021-03-06 01:30:42 +03:00
bc742ccf8c
Fix a small memory leak in etcd_state_client
Vitaliy Filippov
2021-02-04 02:02:24 +03:00
314b20437b
Do not break subsequent small writes badly when a big write is canceled
Vitaliy Filippov
2021-01-19 01:43:00 +03:00
29bac892ad
Add .gitignore
Vitaliy Filippov
2021-02-16 01:02:52 +03:00
cf7547faf3
Fix *.sh build scripts
Vitaliy Filippov
2021-03-02 02:17:11 +03:00
ab90ed747f
Release 0.5.6
v0.5.6
Vitaliy Filippov
2021-03-01 01:24:47 +03:00
29d8ac8b1b
Do not report statistics for the empty operation
Vitaliy Filippov
2021-02-28 20:23:34 +03:00
97795ea1b1
Use pg_minsize=2 in the pg_count change test
Vitaliy Filippov
2021-02-28 20:04:18 +03:00
24e7075f08
Fix monitor's statistics aggregation
Vitaliy Filippov
2021-02-28 19:51:14 +03:00
6155b23a7e
Replace pgs[id] with pgs.at(id) to prevent accidental auto-vivification
Vitaliy Filippov
2021-02-28 19:36:14 +03:00
7d49706c07
Improve the pg_count change test: add more OSDs and actually move data between them
Vitaliy Filippov
2021-02-28 19:35:42 +03:00
46e79f3306
Wait for PGs to become clean before stopping them
Vitaliy Filippov
2021-02-28 19:34:39 +03:00
41fd14e024
Fix deletes not increasing write_iodepth
Vitaliy Filippov
2021-02-28 19:30:47 +03:00
bb2d9a3afe
Release 0.5.5
v0.5.5
Vitaliy Filippov
2021-02-26 00:45:32 +03:00
e899ed2c25
Make OSDs with 256 flushers (as they are now dynamic)
Vitaliy Filippov
2021-02-26 01:05:37 +03:00
e21b14b72c
Fix rpm specs for building with CMake
Vitaliy Filippov
2021-02-26 01:02:45 +03:00
5af8eddaa9
Add the remaining build script for Debian
Vitaliy Filippov
2021-02-26 01:02:32 +03:00
4f5a94c07a
Modify instructions for the CMake build
Vitaliy Filippov
2021-02-26 00:21:35 +03:00
e16b87ecc8
Rename random_combinations() parameter from "unordered" to "ordered" as it's more correct
Vitaliy Filippov
2021-02-25 23:38:12 +03:00
fcb4aa0a11
Fix Monitor being unable to change PG sizes
Vitaliy Filippov
2021-02-25 23:21:56 +03:00
12adfa470c
Add a test for changing PG size
Vitaliy Filippov
2021-02-25 23:21:29 +03:00
7f15e0c084
Add a simple test for the PG optimizer
Vitaliy Filippov
2021-02-25 23:21:14 +03:00
08d4bef419
Fix PG optimizer removing PGs without adding new ones
Vitaliy Filippov
2021-02-25 23:25:33 +03:00
2d73b19a6c
Fix online PG count change bugs
Vitaliy Filippov
2021-02-25 20:36:37 +03:00
69c87009e9
Add a test for changing PG count
Vitaliy Filippov
2021-02-25 20:36:19 +03:00
c974cb539c
Make flusher_count adaptive and limit write iodepth
Vitaliy Filippov
2021-02-23 01:39:49 +03:00
00e98f64f3
A little better systemd unit generator
Vitaliy Filippov
2021-02-22 00:40:52 +03:00
91a70dfb1b
Add a test for the no_same_sector_overwrites mode
Vitaliy Filippov
2021-02-22 00:07:05 +03:00
178388ac8c
Use packages/ subdir instead of build/ for Docker package builds
Vitaliy Filippov
2021-02-21 00:52:16 +03:00
bf9a175efc
Move C/C++ sources to src subdirectory
Vitaliy Filippov
2021-02-18 02:14:09 +03:00
08aed962de
Use CMake
Vitaliy Filippov
2021-02-18 02:07:34 +03:00
8c65e890b9
Slightly clean up the build script
Vitaliy Filippov
2021-02-16 02:03:42 +03:00
8cda70b889
Allow to enable AddressSanitizer with "ASAN=1 make"
Vitaliy Filippov
2021-02-13 19:27:06 +03:00
61ab22403a
Use w=8 with jerasure
Vitaliy Filippov
2021-02-12 23:49:08 +03:00
16da663a66
Add another test for failure domains
Vitaliy Filippov
2021-02-07 19:17:43 +03:00
4a2dcf7b6b
Update the license to VNPL 1.1
Vitaliy Filippov
2021-02-06 01:26:07 +03:00
8d48cc56b0
Generate randomly permutated OSD combinations when optimizing for compressed chunks
Vitaliy Filippov
2021-01-30 01:35:54 +03:00
9f58f01425
Mirror afr.js from /vitalif/ceph-afr-calc
Vitaliy Filippov
2021-01-17 18:58:50 +03:00
b9e7d31aa1
Release v0.5.4
v0.5.4
Vitaliy Filippov
2021-02-24 01:40:29 +03:00
2d9f09dcb6
Attempt forced trim when stopping an overrun flusher
Vitaliy Filippov
2021-02-24 01:32:52 +03:00
7cc59260c5
Fix no_same_sector_overwrites related bug
Vitaliy Filippov
2021-02-22 00:07:05 +03:00
ca0a11ec85
Release 0.5.3
v0.5.3
Vitaliy Filippov
2021-02-03 00:38:57 +03:00
51c0b5afee
Whitelist more leaks
Vitaliy Filippov
2021-02-02 02:04:12 +03:00
e1e01d042e
Rename sector_info.usage_count to flush_count
Vitaliy Filippov
2021-02-02 01:32:13 +03:00
534a4a657e
Rename space_check.sectors_required to sectors_to_write
Vitaliy Filippov
2021-02-02 01:30:23 +03:00
9b5d8b9ad4
Fix multiple-sector journal writes, add assertions to not miss any SQEs
Vitaliy Filippov
2021-02-02 01:29:11 +03:00
e66ed47515
Clear SQEs before returning them to the caller to prevent erroneous double submissions
Vitaliy Filippov
2021-02-02 01:26:54 +03:00
036c6d4c42
Add a simple test case
Vitaliy Filippov
2021-02-01 02:14:18 +03:00
4cb79a3bf8
Allow to calculate simple-offsets for files
Vitaliy Filippov
2021-01-31 22:50:53 +03:00
3bf53754c2
Fix several I/O bugs
Vitaliy Filippov
2021-02-01 01:37:54 +03:00
6023cac361
Do not stop clients before they are connected
Vitaliy Filippov
2021-01-31 23:25:20 +03:00
915d04c446
Allow empty global configuration, report OSD statistics faster
Vitaliy Filippov
2021-01-31 22:49:36 +03:00
21e06ea40d
Fix memory leaks in fio engines
Vitaliy Filippov
2021-01-31 22:47:43 +03:00
9ef7f865b0
Fix incorrect calls to prepare_journal_sector_write() when flushing multiple sectors
Vitaliy Filippov
2021-01-31 01:59:03 +03:00
9dd20a31aa
Do not use pg_minsize in the client code!
Vitaliy Filippov
2021-01-13 00:18:38 +03:00
28be049909
Dump only actual part of the journal by default
v0.5.2
Vitaliy Filippov
2021-01-01 22:58:53 +03:00
78fbaacf1f
External jerasure's w into defines
Vitaliy Filippov
2020-12-31 19:13:10 +03:00
1526c5a213
Add lp_solve into dependencies
Vitaliy Filippov
2020-12-31 01:32:31 +03:00
c7cc414c90
Skip removed descriptors in epoll (this is possible in real clusters)
Vitaliy Filippov
2020-12-30 17:04:13 +03:00
f4ea313707
Fix cl->read_op being freed without calling the completion callback
Vitaliy Filippov
2020-12-30 16:55:37 +03:00
b88b76f316
Parallel usage of multiple network interfaces was a sick fantasy
Vitaliy Filippov
2020-12-30 00:05:17 +03:00
4a17a61d1f
Make rm_inode work with incomplete and degraded objects, allow to wait before deleting objects
Vitaliy Filippov
2020-12-28 02:07:53 +03:00
ccabbbfbcb
For reference: include a spec patch for building QEMU 4.2 or CentOS 7
Vitaliy Filippov
2020-12-06 15:43:38 +03:00
26dac57083
State that jerasure is now supported
Vitaliy Filippov
2020-12-06 15:25:48 +03:00
44a53d8352
Huh. Fix rpath for packages
v0.5.1
Vitaliy Filippov
2020-12-05 19:40:25 +03:00
9d80bd2d98
Build with jerasure, split some build scripts
Vitaliy Filippov
2020-12-05 18:42:45 +03:00
322a38a144
Fix non-preserved real_pg_count leading to inability to change pools online
Vitaliy Filippov
2020-12-04 23:46:48 +03:00
1018764c91
Fix write->delete->write bugs, add & fix some debugging output
Vitaliy Filippov
2020-12-04 19:31:33 +03:00
a45e0e5e67
Use custom decoding instead of just jerasure_matrix_decode()
v0.5.0
Vitaliy Filippov
2020-12-04 17:32:04 +03:00
44656fbf67
Allow writes with low version numbers after a delete
Vitaliy Filippov
2020-12-04 11:37:01 +03:00
089f138e0c
Allow situations where the journal contains a big_write(v1) after delete(v2) and v1 < v2
Vitaliy Filippov
2020-12-03 20:33:07 +03:00
bcc8e697f9
Delete PGs when deleting pools
Vitaliy Filippov
2020-12-01 14:13:24 +03:00
a4c46ba745
Add jerasure EC support (reed_sol_van, others are slower) (not tested yet)
Vitaliy Filippov
2020-11-30 00:08:25 +03:00
5596ad8997
Use custom QEMU build for CentOS 7
Vitaliy Filippov
2020-12-03 00:31:40 +03:00
59c29b0cee
Fix RPATH for CentOS builds, add additional repos into the CentOS installation instructions
Vitaliy Filippov
2020-12-02 12:48:11 +03:00
959089b919
Enable progress_notify=true for etcd watches
Vitaliy Filippov
2020-11-17 16:29:42 +03:00
d3e7749616
Final fixes for packaging
Vitaliy Filippov
2020-11-10 23:40:56 +03:00
b56f8820ec
Container packaging for Debian 11 Bullseye, CentOS 7 and CentOS 8
Vitaliy Filippov
2020-11-09 22:55:06 +03:00
4bd2bd48eb
Build Vitastor packages, too
Vitaliy Filippov
2020-11-09 14:41:39 +03:00
a3fc9f8d7d
Add a Dockerfile to build patched QEMU for Debian (Buster)
Vitaliy Filippov
2020-11-09 02:30:41 +03:00
530975aed7
Make it also build with GCC 8 and on Debian Buster
Vitaliy Filippov
2020-11-09 00:07:07 +03:00
1446aad107
Simple patch for qemu-kvm .spec
Vitaliy Filippov
2020-11-08 02:14:48 +03:00
46479e2456
Add RPM build scripts for CentOS 8
Vitaliy Filippov
2020-11-08 01:53:17 +03:00
e41bee72a5
Lower node.js requirement to 10.x
Vitaliy Filippov
2020-11-08 01:54:12 +03:00
2e0f223ddb
Add RPM build scripts for CentOS 7
Vitaliy Filippov
2020-11-07 01:51:14 +03:00
3be7bc29d8
Make it build with QEMU 2.0, too
Vitaliy Filippov
2020-11-06 20:04:56 +03:00
0c43ff9daf
Add scripts to copy fio and qemu includes to the source package
Vitaliy Filippov
2020-11-06 01:12:00 +03:00
64d471cf53
Add simple Debian packaging
Vitaliy Filippov
2020-11-06 01:09:50 +03:00
809b2ad8cd
Add install target
Vitaliy Filippov
2020-11-05 21:09:36 +03:00
550d4af151
Rename test.cpp to test_shit.cpp (random shit)
Vitaliy Filippov
2020-11-06 00:24:51 +03:00
cf0f23ab8e
Add patches for QEMU QAPI IDL
Vitaliy Filippov
2020-11-04 23:30:51 +03:00
a516fefa8c
Add qemu_module_dummy and qemu_stamp_xxx to qemu_driver.c
Vitaliy Filippov
2020-11-04 23:10:29 +03:00
3b7279b376
Add Ceph EC 2+1 test results
v0.4.0
Vitaliy Filippov
2020-11-01 14:13:35 +03:00
824ea507d0
Do not try to push more segments than IOV_MAX at once as it leads to EMSGSIZE
Vitaliy Filippov
2020-10-30 01:25:43 +03:00
23ea409081
Fix "can't get SQE, will fall out of sync with EPOLLET" when overflowing the ring
Vitaliy Filippov
2020-10-30 01:06:34 +03:00
2ccb75974b
Fix a rare crash caused by a stopped client still being in write_ready_clients
Vitaliy Filippov
2020-10-30 01:04:58 +03:00
6561d4e040
Validate pool ID before executing the operation
Vitaliy Filippov
2020-10-30 01:02:32 +03:00
1eda7f529d
Note about Linux 5.8+
Vitaliy Filippov
2020-10-28 19:17:22 +03:00