Commit Graph

31 Commits (master)

Author SHA1 Message Date
Vitaliy Filippov dff4879c8c Check if NBD_ATTR_BACKEND_IDENTIFIER is defined 2024-04-09 13:16:58 +03:00
Vitaliy Filippov af9a853db6 Move NBD netlink map&unmap to separate commands, add "netlink-revive" command
Test / test_splitbrain (push) Successful in 21s Details
Test / test_snapshot_chain (push) Successful in 2m57s Details
Test / test_snapshot_chain_ec (push) Successful in 3m18s Details
Test / test_rebalance_verify_imm (push) Successful in 3m40s Details
Test / test_rebalance_verify (push) Successful in 4m19s Details
Test / test_switch_primary (push) Successful in 33s Details
Test / test_write (push) Successful in 53s Details
Test / test_write_xor (push) Successful in 58s Details
Test / test_write_no_same (push) Successful in 13s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m29s Details
Test / test_rebalance_verify_ec (push) Successful in 5m12s Details
Test / test_heal_pg_size_2 (push) Successful in 3m50s Details
Test / test_heal_ec (push) Successful in 3m46s Details
Test / test_heal_csum_32k_dmj (push) Successful in 6m12s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m40s Details
Test / test_heal_csum_32k (push) Successful in 6m52s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m51s Details
Test / test_enospc (push) Successful in 1m42s Details
Test / test_enospc_xor (push) Successful in 2m23s Details
Test / test_enospc_imm (push) Successful in 1m42s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m12s Details
Test / test_heal_csum_4k (push) Successful in 5m40s Details
Test / test_enospc_imm_xor (push) Successful in 1m26s Details
Test / test_scrub_zero_osd_2 (push) Successful in 32s Details
Test / test_scrub (push) Successful in 35s Details
Test / test_scrub_xor (push) Successful in 27s Details
Test / test_nfs (push) Successful in 23s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 32s Details
Test / test_scrub_ec (push) Successful in 30s Details
Test / test_scrub_pg_size_3 (push) Successful in 43s Details
2024-04-08 16:34:41 +03:00
Vitaliy Filippov b7a3275af3 Make netlink optional 2024-04-08 01:51:28 +03:00
Vitaliy Filippov 64c5c4ca26 Fix code style 2024-04-08 01:35:03 +03:00
idelson 442a9d838d nbd-proxy: add configuration via netlink to support kinds of timeouts.
PR #58 - https://github.com/vitalif/vitastor/pull/58/commits

By MIND Software LLC

By submitting this pull request, I accept Vitastor CLA
2024-04-08 00:50:08 +03:00
Vitaliy Filippov 7142460ec8 Support --logfile in nfs-proxy 2024-03-16 13:24:36 +03:00
Vitaliy Filippov f20564b44b Fix 32-bit build warnings (99.9% in printf) 2024-02-22 12:22:16 +03:00
Vitaliy Filippov 628aa59574 Raise default NBD timeout from 30 to 300 seconds and allow to take it from /etc/vitastor/vitastor.conf
Test / test_move_reappear (push) Successful in 17s Details
Test / test_rm (push) Successful in 12s Details
Test / test_snapshot_chain (push) Successful in 1m0s Details
Test / test_snapshot_down (push) Successful in 20s Details
Test / test_snapshot_ec (push) Failing after 3m6s Details
Test / test_splitbrain (push) Successful in 13s Details
Test / test_snapshot_chain_ec (push) Failing after 3m7s Details
Test / test_snapshot_down_ec (push) Failing after 3m7s Details
Test / test_rebalance_verify (push) Successful in 2m42s Details
Test / test_rebalance_verify_imm (push) Successful in 2m14s Details
Test / test_write (push) Successful in 45s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m19s Details
Test / test_write_no_same (push) Successful in 12s Details
Test / test_interrupted_rebalance_ec (push) Failing after 10m40s Details
Test / test_write_xor (push) Failing after 3m5s Details
Test / test_rebalance_verify_ec (push) Failing after 5m22s Details
Test / test_heal_pg_size_2 (push) Failing after 3m48s Details
Test / test_heal_csum_32k_dj (push) Successful in 4m27s Details
Test / test_heal_ec (push) Failing after 10m6s Details
Test / test_heal_csum_32k_dmj (push) Failing after 10m14s Details
Test / test_heal_csum_32k (push) Failing after 10m14s Details
Test / test_scrub (push) Successful in 22s Details
Test / test_scrub_zero_osd_2 (push) Successful in 19s Details
Test / test_heal_csum_4k_dmj (push) Failing after 10m10s Details
Test / test_scrub_pg_size_3 (push) Successful in 30s Details
Test / test_scrub_xor (push) Failing after 3m6s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 3m5s Details
Test / test_heal_csum_4k_dj (push) Failing after 10m13s Details
Test / test_scrub_ec (push) Failing after 3m5s Details
Test / test_heal_csum_4k (push) Failing after 10m8s Details
2023-12-02 14:11:14 +03:00
Vitaliy Filippov b5c020ce0b Use io_uring SQ size for ringloop capacity - otherwise get_sqe could return NULL when space_left() was > 0 under load
Test / test_rm (push) Successful in 11s Details
Test / test_move_reappear (push) Successful in 17s Details
Test / test_snapshot_chain (push) Successful in 1m0s Details
Test / test_snapshot_down (push) Successful in 19s Details
Test / test_snapshot_ec (push) Failing after 3m5s Details
Test / test_splitbrain (push) Successful in 12s Details
Test / test_snapshot_chain_ec (push) Failing after 3m5s Details
Test / test_snapshot_down_ec (push) Failing after 3m6s Details
Test / test_rebalance_verify_ec (push) Failing after 42s Details
Test / test_rebalance_verify_imm (push) Successful in 2m47s Details
Test / test_rebalance_verify (push) Successful in 3m14s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m38s Details
Test / test_interrupted_rebalance_ec (push) Failing after 10m5s Details
Test / test_write_no_same (push) Successful in 11s Details
Test / test_write (push) Failing after 3m6s Details
Test / test_write_xor (push) Failing after 3m5s Details
Test / test_heal_pg_size_2 (push) Failing after 3m45s Details
Test / test_heal_csum_32k_dj (push) Failing after 4m41s Details
Test / test_heal_csum_32k (push) Successful in 4m28s Details
Test / test_heal_ec (push) Failing after 10m12s Details
Test / test_heal_csum_4k_dmj (push) Failing after 4m27s Details
Test / test_scrub (push) Successful in 53s Details
Test / test_heal_csum_32k_dmj (push) Failing after 10m16s Details
Test / test_scrub_zero_osd_2 (push) Successful in 59s Details
Test / test_heal_csum_4k_dj (push) Failing after 4m24s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m7s Details
Test / test_scrub_xor (push) Failing after 3m14s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 3m6s Details
Test / test_scrub_ec (push) Failing after 3m7s Details
Test / test_heal_csum_4k (push) Failing after 10m9s Details
Raise default io_uring size to 1024 for the same effective capacity as previously
2023-11-20 03:04:06 +03:00
Vitaliy Filippov 294a754c9e Allow write-back by default in NBD & NFS 2023-10-27 01:26:26 +03:00
Vitaliy Filippov 38db53f5ee Implement client writeback cache
- Disabled by default, enable with client_enable_writeback=true
- Even then only enabled in FIO when -direct is disabled and in QEMU when
  block device cache is enabled in settings
- Can also be enabled in other clients like vitastor-cli using parameter
  client_writeback_allowed=true, but not recommended
2023-09-16 17:52:17 +03:00
Vitaliy Filippov b84927b340 Fix \n in nbd_proxy
Test / test_change_pg_count (push) Successful in 41s Details
Test / test_change_pg_count_ec (push) Successful in 37s Details
Test / test_change_pg_size (push) Successful in 8s Details
Test / test_create_nomaxid (push) Successful in 9s Details
Test / test_etcd_fail (push) Successful in 1m9s Details
Test / test_failure_domain (push) Successful in 9s Details
Test / test_interrupted_rebalance (push) Successful in 1m54s Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m47s Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m17s Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m26s Details
Test / test_minsize_1 (push) Successful in 19s Details
Test / test_move_reappear (push) Successful in 50s Details
Test / test_rebalance_verify (push) Successful in 3m6s Details
Test / test_rebalance_verify_imm (push) Successful in 3m3s Details
Test / test_rebalance_verify_ec (push) Successful in 3m10s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m55s Details
Test / test_rm (push) Successful in 14s Details
Test / test_snapshot (push) Successful in 24s Details
Test / test_snapshot_ec (push) Successful in 24s Details
Test / test_splitbrain (push) Successful in 14s Details
Test / test_write (push) Successful in 1m38s Details
Test / test_write_xor (push) Successful in 2m13s Details
Test / test_write_no_same (push) Successful in 23s Details
Test / test_heal_pg_size_2 (push) Successful in 4m5s Details
Test / test_scrub (push) Successful in 42s Details
Test / test_scrub_zero_osd_2 (push) Successful in 33s Details
Test / test_scrub_xor (push) Successful in 31s Details
Test / test_scrub_pg_size_3 (push) Successful in 40s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 34s Details
Test / test_scrub_ec (push) Successful in 30s Details
2023-06-19 01:48:58 +03:00
Vitaliy Filippov e60e352df6 Improve vitastor-nbd documentation 2023-05-20 22:58:51 +03:00
Vitaliy Filippov 842ba8b831 Use (uint64_t)1 instead of 1l / 1ul 2022-04-16 01:48:14 +03:00
Vitaliy Filippov cd18ef7323 Disconnect NBD proxy correctly without leaving a zombie [vitastor-nbd] process in D state 2022-04-07 16:03:35 +03:00
Vitaliy Filippov c373425562 Fix nbd log 2022-04-07 15:55:38 +03:00
Vitaliy Filippov 9c30df83e3 Fix a HUGE :) bug in NBD proxy
The bug could result in corrupted data on large writes
2022-04-03 10:42:06 +03:00
Vitaliy Filippov 4100d829c7 Allow to override log file for daemonized NBD proxy 2022-04-03 02:41:04 +03:00
Vitaliy Filippov 318cc463c2 Fix warnings 2022-02-03 01:50:30 +03:00
Vitaliy Filippov 140309620a Free recv_buf in nbd_proxy 2022-01-31 20:37:58 +03:00
Vitaliy Filippov 218e294e9c > 0, of course 2022-01-24 13:36:09 +03:00
Vitaliy Filippov cc6b24e03a Allow to configure NBD timeout, max devices and partitions
Also set default NBD devices/partitions to 64/3, Linux default is 16/16 which is way too low
2022-01-24 01:15:19 +03:00
Vitaliy Filippov 0757ba630a Do not happily NBD "map" non-existing images, do not try to benchmark them too 2022-01-23 23:03:42 +03:00
Vitaliy Filippov 77cc18420a Fix leaks detected by clang scan-build (only 1 of 4 may be important though) 2022-01-16 00:11:59 +03:00
Vitaliy Filippov 7bdd92ca4f Fix build under clang and some warnings
Build problems fixed:
- void* pointer arithmetic which is a GNU extension (works as byte*)
- "variable size object may not be initialized" which is OK under GCC
- nullptr_t related error in json11 (it lacks 'operator <' in clang)

Warnings fixed:
- empty nested struct initializer { 0 } replaced by {}
- removed several unused lambda captures
2022-01-16 00:02:54 +03:00
Vitaliy Filippov 42479b4590 Fix vitastor-nbd list, add ls alias 2021-11-13 22:39:17 +03:00
Vitaliy Filippov 57be1923d3 Daemonize NBD_DO_IT process, correctly cleanup unmounted NBD clients 2021-05-16 01:09:25 +03:00
Vitaliy Filippov bf591ba3ee Fix nbd module load check 2021-05-15 19:22:24 +03:00
Vitaliy Filippov f6f35f4127 Pass options correctly to not override /etc/vitastor/vitastor.conf 2021-04-30 01:17:44 +03:00
Vitaliy Filippov 82e6aff17b Support mapping NBD by the image name 2021-04-17 17:39:55 +03:00
Vitaliy Filippov bf9a175efc Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00