Compare commits

...

2 Commits

Author SHA1 Message Date
7e23b57014 Do not save watch revision from initial created: true messages
Some checks failed
Test / test_osd_tags (push) Has been cancelled
Test / test_enospc (push) Has been cancelled
Test / test_enospc_xor (push) Has been cancelled
Test / test_enospc_imm (push) Has been cancelled
Test / test_enospc_imm_xor (push) Has been cancelled
Test / test_old_enospc (push) Has been cancelled
Test / test_old_enospc_xor (push) Has been cancelled
Test / test_old_enospc_imm (push) Has been cancelled
Test / test_old_enospc_imm_xor (push) Has been cancelled
Test / test_scrub (push) Has been cancelled
Test / test_scrub_zero_osd_2 (push) Has been cancelled
Test / test_scrub_xor (push) Has been cancelled
Test / test_scrub_pg_size_3 (push) Has been cancelled
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Has been cancelled
Test / test_scrub_ec (push) Has been cancelled
Test / test_old_scrub (push) Has been cancelled
Test / test_old_scrub_zero_osd_2 (push) Has been cancelled
Test / test_old_scrub_xor (push) Has been cancelled
Test / test_old_scrub_pg_size_3 (push) Has been cancelled
Test / test_old_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Has been cancelled
Test / test_old_scrub_ec (push) Has been cancelled
Test / test_old_partwr_csum (push) Has been cancelled
Test / test_heal_old_csum_32k_dmj (push) Has been cancelled
Test / test_heal_old_csum_32k_dj (push) Has been cancelled
Test / test_heal_old_csum_32k (push) Has been cancelled
Test / test_heal_old_csum_4k_dmj (push) Has been cancelled
Test / test_heal_old_csum_4k_dj (push) Has been cancelled
Test / test_heal_old_csum_4k (push) Has been cancelled
Test / test_nfs (push) Has been cancelled
Test / test_nfs_unaligned_append (push) Has been cancelled
2026-02-27 01:11:18 +03:00
b2427836a1 Fix dd treating all < 32k reads as always empty :-X
Some checks failed
Test / test_enospc_xor (push) Successful in 12s
Test / test_enospc_imm (push) Successful in 11s
Test / test_enospc_imm_xor (push) Successful in 14s
Test / test_old_enospc (push) Successful in 12s
Test / test_old_enospc_xor (push) Successful in 13s
Test / test_old_enospc_imm (push) Successful in 10s
Test / test_old_enospc_imm_xor (push) Successful in 13s
Test / test_scrub (push) Successful in 15s
Test / test_scrub_zero_osd_2 (push) Successful in 16s
Test / test_scrub_xor (push) Successful in 15s
Test / test_scrub_pg_size_3 (push) Successful in 15s
Test / test_heal_csum_4k_dj (push) Successful in 2m16s
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 17s
Test / test_heal_csum_4k (push) Successful in 2m18s
Test / test_scrub_ec (push) Successful in 16s
Test / test_old_scrub (push) Successful in 16s
Test / test_old_scrub_zero_osd_2 (push) Successful in 16s
Test / test_old_scrub_xor (push) Successful in 16s
Test / test_old_scrub_pg_size_3 (push) Successful in 15s
Test / test_old_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 18s
Test / test_old_scrub_ec (push) Successful in 17s
Test / test_old_partwr_csum (push) Successful in 12s
Test / test_heal_old_csum_32k_dmj (push) Successful in 2m20s
Test / test_heal_old_csum_4k_dmj (push) Successful in 2m22s
Test / test_heal_old_csum_32k_dj (push) Failing after 2m27s
Test / test_heal_old_csum_32k (push) Successful in 2m27s
Test / test_nfs (push) Successful in 14s
Test / test_nfs_unaligned_append (push) Successful in 12s
Test / test_heal_old_csum_4k_dj (push) Successful in 2m18s
Test / test_heal_old_csum_4k (push) Successful in 2m15s
2026-02-22 14:19:13 +03:00
2 changed files with 5 additions and 2 deletions

View File

@@ -414,7 +414,10 @@ void etcd_state_client_t::start_etcd_watcher()
}
// Save revision only if it's present in the message - because sometimes etcd sends something without a header, like:
// {"error": {"grpc_code": 14, "http_code": 503, "http_status": "Service Unavailable", "message": "error reading from server: EOF"}}
if (etcd_watches_initialised == ETCD_TOTAL_WATCHES && !data["result"]["header"]["revision"].is_null())
// Also don't save revision from the initial created: true messages because they always contain the latest revision
if (etcd_watches_initialised == ETCD_TOTAL_WATCHES &&
!data["result"]["header"]["revision"].is_null() &&
!data["result"]["created"].bool_value())
{
// Restart watchers from the same revision number as in the last received message,
// not from the next one to protect against revision being split into multiple messages,

View File

@@ -442,7 +442,7 @@ struct cli_dd_t
}
delete cur_read;
}
else if (!is_zero(read_op->bitmap_buf, read_op->len/iinfo.in_granularity/8))
else if (!is_zero(read_op->bitmap_buf, (read_op->len/iinfo.in_granularity+7)/8))
{
vitastor_read(cur_read);
}