Commit Graph

1781 Commits (master)

Author SHA1 Message Date
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 cd543a90bc Prevent stack overflows in cli_merge with CAS and writeback cache 2023-09-16 17:52:17 +03:00
Vitaliy Filippov f600cc07b0 Autosync in blockstore every autosync_writes, too 2023-09-16 17:52:17 +03:00
Vitaliy Filippov 6a8e530e6b Add FIXME to timerfd_manager 2023-09-16 17:52:17 +03:00
Vitaliy Filippov 5cadb170b9 Fix possible OSD crash during sync due to missing min_flushed_journal_sector reset 2023-09-16 17:52:17 +03:00
Vitaliy Filippov e72d4ed1d4 Remove unused bs_sync fields 2023-09-16 17:52:17 +03:00
Vitaliy Filippov ff479a102d Make MON filter OSDs by block layout to prevent "refusing to start PGs of this pool" errors on misconfiguration 2023-09-16 17:52:17 +03:00
Vitaliy Filippov 27d0d5b06a Reads do not have to wait for buffer flushes anymore 2023-09-16 17:52:17 +03:00
Vitaliy Filippov 33950c1ec8 Fix fio_sec_osd attr_len
Test / test_failure_domain (push) Has been cancelled Details
Test / test_snapshot (push) Has been cancelled Details
Test / test_snapshot_ec (push) Has been cancelled Details
Test / test_minsize_1 (push) Has been cancelled Details
Test / test_move_reappear (push) Has been cancelled Details
Test / test_rm (push) Has been cancelled Details
Test / test_snapshot_chain (push) Has been cancelled Details
Test / test_snapshot_chain_ec (push) Has been cancelled Details
Test / test_snapshot_down (push) Has been cancelled Details
Test / test_snapshot_down_ec (push) Has been cancelled Details
Test / test_splitbrain (push) Has been cancelled Details
Test / test_rebalance_verify (push) Has been cancelled Details
Test / test_rebalance_verify_imm (push) Has been cancelled Details
Test / test_rebalance_verify_ec (push) Has been cancelled Details
Test / test_rebalance_verify_ec_imm (push) Has been cancelled Details
Test / test_write (push) Has been cancelled Details
Test / test_write_xor (push) Has been cancelled Details
Test / test_write_no_same (push) Has been cancelled Details
Test / test_heal_pg_size_2 (push) Has been cancelled Details
Test / test_heal_ec (push) Has been cancelled Details
Test / test_heal_csum_32k_dmj (push) Has been cancelled Details
Test / test_heal_csum_32k_dj (push) Has been cancelled Details
Test / test_heal_csum_32k (push) Has been cancelled Details
Test / test_heal_csum_4k_dmj (push) Has been cancelled Details
Test / test_heal_csum_4k_dj (push) Has been cancelled Details
Test / test_heal_csum_4k (push) Has been cancelled Details
Test / test_scrub (push) Has been cancelled Details
Test / test_scrub_zero_osd_2 (push) Has been cancelled Details
Test / test_scrub_xor (push) Has been cancelled Details
Test / build (push) Has been cancelled Details
2023-09-16 17:49:10 +03:00
Vitaliy Filippov eea7ef1f19 Remove debug osd_trace from test_write
Test / test_snapshot_ec (push) Successful in 41s Details
Test / test_minsize_1 (push) Successful in 15s Details
Test / test_rm (push) Successful in 15s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_snapshot_down (push) Successful in 32s Details
Test / test_snapshot_down_ec (push) Successful in 31s Details
Test / test_splitbrain (push) Successful in 20s Details
Test / test_snapshot_chain (push) Successful in 2m18s Details
Test / test_snapshot_chain_ec (push) Successful in 3m1s Details
Test / test_rebalance_verify (push) Successful in 3m24s Details
Test / test_rebalance_verify_imm (push) Successful in 3m26s Details
Test / test_write (push) Successful in 45s Details
Test / test_write_no_same (push) Successful in 17s Details
Test / test_write_xor (push) Successful in 49s Details
Test / test_rebalance_verify_ec (push) Successful in 4m59s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m56s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m39s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m9s Details
Test / test_heal_csum_32k (push) Successful in 6m8s Details
Test / test_scrub (push) Successful in 1m26s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m53s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m15s Details
Test / test_scrub_xor (push) Successful in 57s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m18s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 59s Details
Test / test_scrub_ec (push) Successful in 57s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m37s Details
Test / test_heal_csum_4k (push) Successful in 5m21s Details
Test / test_heal_ec (push) Successful in 7m21s Details
Test / test_heal_pg_size_2 (push) Successful in 3m59s Details
2023-09-12 01:35:36 +03:00
Vitaliy Filippov cc0fdc6253 Remove erroneous block_size mismatch warnings on pools without matching PGs
Test / test_snapshot_ec (push) Successful in 36s Details
Test / test_minsize_1 (push) Successful in 13s Details
Test / test_rm (push) Successful in 16s Details
Test / test_snapshot_down (push) Successful in 24s Details
Test / test_move_reappear (push) Failing after 52s Details
Test / test_snapshot_down_ec (push) Successful in 23s Details
Test / test_splitbrain (push) Successful in 21s Details
Test / test_snapshot_chain (push) Successful in 2m23s Details
Test / test_snapshot_chain_ec (push) Successful in 2m58s Details
Test / test_rebalance_verify (push) Successful in 3m32s Details
Test / test_rebalance_verify_imm (push) Successful in 3m29s Details
Test / test_write (push) Successful in 52s Details
Test / test_write_xor (push) Successful in 56s Details
Test / test_write_no_same (push) Successful in 15s Details
Test / test_rebalance_verify_ec (push) Successful in 5m0s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m30s Details
Test / test_heal_ec (push) Successful in 4m6s Details
Test / test_heal_pg_size_2 (push) Failing after 4m19s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m2s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m12s Details
Test / test_heal_csum_32k (push) Successful in 6m24s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m19s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m8s Details
Test / test_scrub (push) Successful in 1m15s Details
Test / test_scrub_xor (push) Successful in 1m8s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m45s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m58s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m9s Details
Test / test_scrub_ec (push) Successful in 42s Details
Test / test_heal_csum_4k (push) Successful in 5m26s Details
2023-09-08 23:19:04 +03:00
Vitaliy Filippov 79ecd59b10 Flush STDOUT and STDERR before exiting from cli to fix Proxmox "Unexpected result"
Test / test_interrupted_rebalance_ec (push) Successful in 1m51s Details
Test / test_snapshot_ec (push) Successful in 33s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_rm (push) Successful in 18s Details
Test / test_snapshot_down (push) Successful in 29s Details
Test / test_snapshot_down_ec (push) Successful in 30s Details
Test / test_splitbrain (push) Successful in 21s Details
Test / test_snapshot_chain (push) Successful in 2m18s Details
Test / test_snapshot_chain_ec (push) Successful in 2m55s Details
Test / test_rebalance_verify (push) Successful in 3m15s Details
Test / test_rebalance_verify_imm (push) Successful in 3m10s Details
Test / test_write (push) Successful in 47s Details
Test / test_write_xor (push) Successful in 57s Details
Test / test_write_no_same (push) Successful in 17s Details
Test / test_rebalance_verify_ec (push) Successful in 5m3s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m24s Details
Test / test_heal_pg_size_2 (push) Failing after 3m44s Details
Test / test_heal_ec (push) Successful in 4m55s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m48s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m11s Details
Test / test_heal_csum_32k (push) Successful in 6m14s Details
Test / test_scrub (push) Successful in 1m32s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m33s Details
Test / test_scrub_xor (push) Successful in 59s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m7s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m25s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m21s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m46s Details
Test / test_scrub_ec (push) Successful in 53s Details
Test / test_heal_csum_4k (push) Successful in 5m20s Details
2023-09-07 17:30:26 +03:00
Vitaliy Filippov 51081c9b45 Put etcd into tmpfs for tests
Test / test_minsize_1 (push) Successful in 16s Details
Test / test_rm (push) Successful in 15s Details
Test / test_move_reappear (push) Successful in 21s Details
Test / test_snapshot_ec (push) Successful in 25s Details
Test / test_snapshot_down (push) Successful in 31s Details
Test / test_snapshot_down_ec (push) Successful in 31s Details
Test / test_splitbrain (push) Successful in 26s Details
Test / test_snapshot_chain (push) Successful in 2m17s Details
Test / test_snapshot_chain_ec (push) Successful in 2m58s Details
Test / test_rebalance_verify (push) Successful in 3m18s Details
Test / test_rebalance_verify_imm (push) Successful in 3m11s Details
Test / test_write (push) Successful in 40s Details
Test / test_write_no_same (push) Successful in 13s Details
Test / test_rebalance_verify_ec (push) Successful in 4m0s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m16s Details
Test / test_heal_ec (push) Successful in 4m44s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m38s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m36s Details
Test / test_heal_csum_32k (push) Successful in 6m35s Details
Test / test_scrub (push) Successful in 1m38s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m39s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m17s Details
Test / test_scrub_xor (push) Successful in 57s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m4s Details
Test / test_heal_csum_4k (push) Successful in 6m8s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 48s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m9s Details
Test / test_scrub_ec (push) Successful in 29s Details
Test / test_write_xor (push) Successful in 1m13s Details
Test / test_heal_pg_size_2 (push) Successful in 3m24s Details
2023-09-07 02:35:09 +03:00
Vitaliy Filippov b7d398be5b Fix sscanf validation usage (field count instead of null_byte == 0)
Test / test_minsize_1 (push) Has been cancelled Details
Test / test_move_reappear (push) Has been cancelled Details
Test / test_rm (push) Has been cancelled Details
Test / test_snapshot_chain (push) Has been cancelled Details
Test / test_snapshot_chain_ec (push) Has been cancelled Details
Test / test_snapshot_down (push) Has been cancelled Details
Test / test_snapshot_down_ec (push) Has been cancelled Details
Test / test_splitbrain (push) Has been cancelled Details
Test / test_rebalance_verify (push) Has been cancelled Details
Test / build (push) Has been cancelled Details
Test / test_rebalance_verify_imm (push) Has been cancelled Details
Test / test_rebalance_verify_ec (push) Has been cancelled Details
Test / test_rebalance_verify_ec_imm (push) Has been cancelled Details
Test / test_write (push) Has been cancelled Details
Test / test_write_xor (push) Has been cancelled Details
Test / test_write_no_same (push) Has been cancelled Details
Test / test_heal_pg_size_2 (push) Has been cancelled Details
Test / test_heal_ec (push) Has been cancelled Details
Test / test_heal_csum_32k_dmj (push) Has been cancelled Details
Test / test_heal_csum_32k_dj (push) Has been cancelled Details
Test / test_heal_csum_32k (push) Has been cancelled Details
Test / test_heal_csum_4k_dmj (push) Has been cancelled Details
Test / test_heal_csum_4k_dj (push) Has been cancelled Details
Test / test_heal_csum_4k (push) Has been cancelled Details
Test / test_scrub (push) Has been cancelled Details
Test / test_scrub_zero_osd_2 (push) Has been cancelled Details
Test / test_scrub_xor (push) Has been cancelled Details
Test / test_scrub_pg_size_3 (push) Has been cancelled Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Has been cancelled Details
Test / test_scrub_ec (push) Has been cancelled Details
2023-09-07 02:34:35 +03:00
Vitaliy Filippov 85e9f67d9d Add supported_truncate_flags
Test / test_minsize_1 (push) Successful in 15s Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m19s Details
Test / test_rm (push) Successful in 16s Details
Test / test_snapshot_down (push) Successful in 23s Details
Test / test_snapshot_down_ec (push) Successful in 25s Details
Test / test_splitbrain (push) Successful in 19s Details
Test / test_snapshot_chain (push) Successful in 2m13s Details
Test / test_snapshot_chain_ec (push) Successful in 2m54s Details
Test / test_rebalance_verify (push) Successful in 3m25s Details
Test / test_rebalance_verify_imm (push) Successful in 3m22s Details
Test / test_write (push) Successful in 52s Details
Test / test_write_xor (push) Successful in 55s Details
Test / test_write_no_same (push) Successful in 15s Details
Test / test_rebalance_verify_ec (push) Successful in 4m50s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 6m8s Details
Test / test_heal_ec (push) Successful in 5m1s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m32s Details
Test / test_heal_csum_32k (push) Successful in 6m14s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m23s Details
Test / test_scrub (push) Successful in 1m27s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m24s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m15s Details
Test / test_scrub_xor (push) Successful in 58s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m1s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 55s Details
Test / test_scrub_ec (push) Successful in 53s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m24s Details
Test / test_heal_csum_4k (push) Successful in 4m44s Details
Test / test_move_reappear (push) Successful in 20s Details
Test / test_heal_pg_size_2 (push) Successful in 4m1s Details
2023-09-06 17:37:52 +03:00
Vitaliy Filippov 79c6d6f323 Make QEMU driver compatible with QEMU 8.1
Test / test_snapshot_ec (push) Successful in 31s Details
Test / test_minsize_1 (push) Successful in 15s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_rm (push) Successful in 12s Details
Test / test_snapshot_chain (push) Successful in 2m2s Details
Test / test_snapshot_chain_ec (push) Successful in 2m44s Details
Test / test_snapshot_down (push) Successful in 23s Details
Test / test_snapshot_down_ec (push) Successful in 24s Details
Test / test_splitbrain (push) Successful in 16s Details
Test / test_rebalance_verify (push) Successful in 3m10s Details
Test / test_rebalance_verify_imm (push) Successful in 3m10s Details
Test / test_rebalance_verify_ec (push) Successful in 3m39s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 7m1s Details
Test / test_write (push) Successful in 36s Details
Test / test_write_xor (push) Successful in 1m11s Details
Test / test_write_no_same (push) Successful in 14s Details
Test / test_heal_pg_size_2 (push) Successful in 4m1s Details
Test / test_heal_ec (push) Successful in 6m7s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m19s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m7s Details
Test / test_heal_csum_32k (push) Successful in 6m21s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m22s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m40s Details
Test / test_heal_csum_4k (push) Successful in 5m34s Details
Test / test_scrub (push) Successful in 1m2s Details
Test / test_scrub_zero_osd_2 (push) Successful in 46s Details
Test / test_scrub_xor (push) Successful in 38s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m7s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 50s Details
Test / test_scrub_ec (push) Successful in 48s Details
2023-08-24 02:23:55 +03:00
Vitaliy Filippov ae760dbc1d Fix co_truncate size division by BDRV_SECTOR_SIZE 2023-08-24 01:55:35 +03:00
Vitaliy Filippov 65487da4b1 Do not include msgr_rdma.h into messenger.h 2023-08-24 01:55:35 +03:00
Vitaliy Filippov 7862282938 Extract validation to check_rw(), remove duplicate code with OP_SYNC
Test / test_snapshot_ec (push) Successful in 19s Details
Test / test_minsize_1 (push) Successful in 12s Details
Test / test_move_reappear (push) Successful in 18s Details
Test / test_rm (push) Successful in 11s Details
Test / test_snapshot_chain (push) Successful in 59s Details
Test / test_snapshot_chain_ec (push) Successful in 1m41s Details
Test / test_snapshot_down (push) Successful in 22s Details
Test / test_snapshot_down_ec (push) Successful in 22s Details
Test / test_splitbrain (push) Successful in 14s Details
Test / test_rebalance_verify (push) Successful in 3m23s Details
Test / test_rebalance_verify_imm (push) Successful in 3m19s Details
Test / test_rebalance_verify_ec (push) Successful in 5m33s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m28s Details
Test / test_write (push) Successful in 51s Details
Test / test_write_xor (push) Successful in 1m6s Details
Test / test_write_no_same (push) Successful in 18s Details
Test / test_heal_pg_size_2 (push) Successful in 4m26s Details
Test / test_heal_ec (push) Successful in 5m21s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m56s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m2s Details
Test / test_heal_csum_32k (push) Successful in 6m41s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m53s Details
Test / test_heal_csum_4k_dj (push) Successful in 3m58s Details
Test / test_heal_csum_4k (push) Successful in 4m55s Details
Test / test_scrub (push) Successful in 48s Details
Test / test_scrub_zero_osd_2 (push) Successful in 54s Details
Test / test_scrub_xor (push) Successful in 50s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m4s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 46s Details
Test / test_scrub_ec (push) Successful in 47s Details
2023-08-13 23:49:52 +03:00
Vitaliy Filippov 30ce2bd951 Fix buffer insert in cluster_client 2023-08-12 11:08:50 +03:00
Vitaliy Filippov b1a0afd10a Aggregate buffer flushes
Test / test_snapshot_ec (push) Successful in 30s Details
Test / test_minsize_1 (push) Successful in 13s Details
Test / test_move_reappear (push) Successful in 17s Details
Test / test_rm (push) Successful in 14s Details
Test / test_snapshot_chain (push) Successful in 2m21s Details
Test / test_snapshot_chain_ec (push) Successful in 2m56s Details
Test / test_snapshot_down (push) Successful in 25s Details
Test / test_snapshot_down_ec (push) Successful in 23s Details
Test / test_splitbrain (push) Successful in 19s Details
Test / test_rebalance_verify (push) Successful in 3m39s Details
Test / test_rebalance_verify_imm (push) Successful in 3m35s Details
Test / test_rebalance_verify_ec (push) Successful in 5m6s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 6m8s Details
Test / test_write (push) Successful in 50s Details
Test / test_write_xor (push) Successful in 55s Details
Test / test_write_no_same (push) Successful in 14s Details
Test / test_heal_pg_size_2 (push) Successful in 4m14s Details
Test / test_heal_ec (push) Successful in 5m2s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m1s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m12s Details
Test / test_heal_csum_32k (push) Successful in 6m35s Details
Test / test_heal_csum_4k_dmj (push) Successful in 7m18s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m24s Details
Test / test_heal_csum_4k (push) Successful in 5m12s Details
Test / test_scrub (push) Successful in 1m39s Details
Test / test_scrub_zero_osd_2 (push) Successful in 49s Details
Test / test_scrub_xor (push) Successful in 45s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m19s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 57s Details
Test / test_scrub_ec (push) Successful in 59s Details
2023-08-11 11:26:13 +03:00
Vitaliy Filippov 85b6134910 Return dirty buffers on read in client
Test / test_snapshot_ec (push) Successful in 22s Details
Test / test_minsize_1 (push) Successful in 12s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_rm (push) Successful in 13s Details
Test / test_snapshot_chain (push) Successful in 1m57s Details
Test / test_snapshot_chain_ec (push) Successful in 2m39s Details
Test / test_snapshot_down (push) Successful in 22s Details
Test / test_snapshot_down_ec (push) Successful in 25s Details
Test / test_splitbrain (push) Successful in 15s Details
Test / test_rebalance_verify (push) Successful in 3m4s Details
Test / test_rebalance_verify_imm (push) Successful in 3m7s Details
Test / test_rebalance_verify_ec (push) Successful in 3m26s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 7m35s Details
Test / test_write (push) Successful in 35s Details
Test / test_write_xor (push) Successful in 38s Details
Test / test_write_no_same (push) Successful in 21s Details
Test / test_heal_pg_size_2 (push) Successful in 4m58s Details
Test / test_heal_ec (push) Successful in 3m15s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m52s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m3s Details
Test / test_heal_csum_32k (push) Successful in 5m26s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m12s Details
Test / test_heal_csum_4k_dj (push) Successful in 5m9s Details
Test / test_heal_csum_4k (push) Successful in 5m13s Details
Test / test_scrub (push) Successful in 1m24s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m15s Details
Test / test_scrub_xor (push) Successful in 1m5s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m45s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m11s Details
Test / test_scrub_ec (push) Successful in 56s Details
Required at least to return buffers when they need to be replayed, but until
they are actually replayed
2023-08-09 00:57:08 +03:00
Vitaliy Filippov b1b07a393d Fix incorrect marking op parts as done with snapshots (could probably lead to client hangs) 2023-08-09 00:57:08 +03:00
Vitaliy Filippov 7333022adf Add a third I/O mode: O_DIRECT|O_SYNC, change parameters to data_io/meta_io/journal_io 2023-08-09 00:57:08 +03:00
Vitaliy Filippov ab8627c9fa Fix monitor retrying failed etcd connection in an infinite loop without pauses 2023-08-09 00:57:08 +03:00
Vitaliy Filippov 6acf562e01 Release 1.0.0
New features:

- Data and metadata checksums!
  - Metadata checksums are always used with new disk format
  - Data checksums can be turned on with --data_csum_type crc32c for new OSDs
  - Checksum block size can be configured
  - inmemory_metadata now also affects keeping checksums in memory
- Linux page cache I/O caching support which can be enabled separately for
  data, metadata (including checksums) and journal (O_SYNC instead of O_DIRECT)
- Details [here](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/layout-osd.en.md#data_csum_type)
- Backwards compatibility is preserved, you can use new OSDs with old disks

Release also includes bug fixes from [0.9.6](https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v0.9.6).

0.9.6 is moved to "-oldstable" repositories and will be available for some additional time.
2023-07-29 18:57:19 +03:00
Vitaliy Filippov 6f797f429e Add a note about -oldstable 2023-07-29 18:11:13 +03:00
Vitaliy Filippov b8a1734465 Reword checksum docs one more time 2023-07-29 14:42:56 +03:00
Vitaliy Filippov c752b68167 Remove "without checksums" from docs :) 2023-07-29 12:19:03 +03:00
Vitaliy Filippov 564df2eb5d Support using buffered I/O with O_SYNC instead of direct I/O 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 9a427dd70a Allow to override OSD devices in tests 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 1a4ceb420d Track used blocks, not object versions 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 21b5124a4b Document data_csum_type and csum_block_size parameters 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 4181add1f4 Remove creepy "metadata copying" during overwrite
Instead of it, just do not verify checksums of currently mutated objects.
When clean data modification during flush runs in parallel to a read request,
that request may read a mix of old and new data. It may even read a mix of
multiple flushed versions if it lasts too long... And attempts to verify it
using temporary copies of metadata make the algorithm too complex and creepy.
2023-07-29 12:17:18 +03:00
Vitaliy Filippov a8464c19af Support keeping checksums on disk (not in memory)
Definitely beneficial for SSD+HDD setups
2023-07-29 12:17:18 +03:00
Vitaliy Filippov 819cb70cdd Check for "Checksum mismatch" and "BUG" messages during test_heal 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 3c8e4c6b72 Use clean_dyn_size for space check 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 8ef4cf89dc Log more details about checksum mismatch in big_writes 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 7bfb1639ea Use find_holes() in flusher for unification 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 628e481c32 Fill journal header to know checksum type & size when dumping journal with --all 2023-07-29 12:17:18 +03:00
Vitaliy Filippov af6f2046fc Fix journal read checksum verification with inmemory_journal=false 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 9357e5293e Call fill_partial_checksum_blocks() correctly in regard to COPY_BUF_CSUM_FILL 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 12851dc07d Wait for journal reads before checking them in clear_incomplete_csum_block_bits 2023-07-29 12:17:18 +03:00
Vitaliy Filippov a5753e35a3 Check for checksum mismatch absence in test_heal 2023-07-29 12:17:18 +03:00
Vitaliy Filippov d6ee1ca17c Use zero checksum size for zero-length writes 2023-07-29 12:17:18 +03:00
Vitaliy Filippov 71674d00cf Fix journal data checksum mangling on corrupted block overwrite 2023-07-29 12:17:18 +03:00
Vitaliy Filippov ddb078d5a7 Check journal entry size when checking block checksums 2023-07-29 12:17:18 +03:00
Vitaliy Filippov d22d56f90a Fix journal data checksum verification on start 2023-07-29 12:17:18 +03:00
Vitaliy Filippov eb1331a079 Add more details to "journal entry data is corrupt" messages 2023-07-29 12:17:18 +03:00
Vitaliy Filippov c5274f655b ...and partially remove the perversion with bitmap inlining 2023-07-29 12:17:18 +03:00