From 31bd1ec145ada9e81027bba63495932dc36bf9a7 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 21 Dec 2022 02:47:26 +0300 Subject: [PATCH] Fix object creation check for statistics --- src/osd_primary.h | 2 +- src/osd_primary_write.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/osd_primary.h b/src/osd_primary.h index 22593b1a..e645ee4f 100644 --- a/src/osd_primary.h +++ b/src/osd_primary.h @@ -22,7 +22,7 @@ struct osd_primary_op_data_t pg_num_t pg_num; object_id oid; uint64_t target_ver; - uint64_t fact_ver = 0; + uint64_t orig_ver = 0, fact_ver = 0; uint64_t scheme = 0; int n_subops = 0, done = 0, errors = 0, epipe = 0; int degraded = 0, pg_size, pg_data_size; diff --git a/src/osd_primary_write.cpp b/src/osd_primary_write.cpp index eb6a12ef..50142eb1 100644 --- a/src/osd_primary_write.cpp +++ b/src/osd_primary_write.cpp @@ -138,6 +138,7 @@ resume_3: } } // Send writes + op_data->orig_ver = op_data->fact_ver; if ((op_data->fact_ver >> (64-PG_EPOCH_BITS)) < pg.epoch) { op_data->target_ver = ((uint64_t)pg.epoch << (64-PG_EPOCH_BITS)) | 1; @@ -194,7 +195,7 @@ resume_7: { return; } - if (op_data->fact_ver == 1) + if (op_data->orig_ver == 0) { // Object is created pg.clean_count++;