Allow degraded/misplaced writes (for better performance)

This commit is contained in:
Vitaliy Filippov
2026-05-22 02:04:49 +03:00
parent 2533604514
commit c93bdf4369
7 changed files with 102 additions and 52 deletions
+3 -1
View File
@@ -111,6 +111,7 @@ class osd_t
bool no_rebalance = false;
bool no_recovery = false;
bool no_scrub = false;
bool use_degraded_write = true;
bool allow_net_split = false;
std::vector<std::string> cfg_bind_addresses;
int bind_port, listen_backlog = 128;
@@ -343,6 +344,7 @@ class osd_t
void continue_primary_sync(osd_op_t *cur_op);
void continue_primary_del(osd_op_t *cur_op);
bool check_write_queue(osd_op_t *cur_op, pg_t & pg);
bool wr_degraded(osd_op_t *cur_op);
pg_osd_set_state_t* add_object_to_set(pg_t & pg, const object_id oid, const pg_osd_set_t & osd_set,
uint64_t old_pg_state, int log_at_level);
bool remove_object_from_state(object_id & oid, pg_osd_set_state_t **object_state, pg_t &pg, bool report = true);
@@ -352,7 +354,7 @@ class osd_t
osd_rmw_stripe_t *stripes, bool ref);
pg_osd_set_state_t *mark_partial_write(pg_t & pg, osd_op_t *cur_op);
void deref_object_state(pg_t & pg, pg_osd_set_state_t **object_state, bool deref);
bool remember_unstable_write(osd_op_t *cur_op, pg_t & pg, pg_osd_set_t & loc_set, int base_state);
bool remember_unstable_write(osd_op_t *cur_op, pg_t & pg, uint64_t *cur_set, int base_state);
void handle_primary_subop(osd_op_t *subop, osd_op_t *cur_op);
void handle_primary_bs_subop(osd_op_t *subop);
void add_bs_subop_stats(osd_op_t *subop, bool recovery_related = false);