]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PrimaryLogPG: Keep soid before erase entry 57545/head
authorNitzan Mordechai <nmordech@redhat.com>
Sun, 19 May 2024 07:57:13 +0000 (07:57 +0000)
committerNitzan Mordechai <nmordech@redhat.com>
Wed, 19 Jun 2024 04:26:33 +0000 (04:26 +0000)
valgrind errors show when we are erasing entry and then trying
to use it. we need to keep the soid before the erase happen.

Fixes: https://tracker.ceph.com/issues/64942
Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
src/osd/PrimaryLogPG.cc

index a7e6d90a8fe10b9e62f287b81e856364a760d1e7..b7736310c777e56eba55df28a1c9a0188e204a34 100644 (file)
@@ -466,8 +466,8 @@ void PrimaryLogPG::on_local_recover(
       if (unreadable_object_entry != waiting_for_unreadable_object.end()) {
        dout(20) << " kicking unreadable waiters on " << hoid << dendl;
        requeue_ops(unreadable_object_entry->second);
-       waiting_for_unreadable_object.erase(unreadable_object_entry);
        finish_unreadable_object(unreadable_object_entry->first);
+       waiting_for_unreadable_object.erase(unreadable_object_entry);
       }
     }
   } else {