From: Matan Breizman Date: Mon, 24 Apr 2023 12:55:08 +0000 (+0000) Subject: crimson/osd/osd_operations/snaptrim_event: Handle missing clone obc X-Git-Tag: v19.0.0~1329^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5f1f3625908331e164274621f2e0b092efda0452;p=ceph.git crimson/osd/osd_operations/snaptrim_event: Handle missing clone obc The case where resolve_oid is not able to return the clone oid (in order to load the clone obc) should result in an SNAPTRIM_ERROR and stop the loop iteration. Without taking this case into account an infinite loop of snap trim events will be created. The ENOENT error is delegated upwards to be handled by PG::on_active_actmap(). Fixes: https://tracker.ceph.com/issues/59231 Signed-off-by: Matan Breizman --- diff --git a/src/crimson/osd/osd_operations/snaptrim_event.cc b/src/crimson/osd/osd_operations/snaptrim_event.cc index e3327cfa02fb..8bb1ced54062 100644 --- a/src/crimson/osd/osd_operations/snaptrim_event.cc +++ b/src/crimson/osd/osd_operations/snaptrim_event.cc @@ -525,9 +525,10 @@ SnapTrimObjSubEvent::with_pg( }); }); }); - }).handle_error_interruptible(PG::load_obc_ertr::all_same_way([] { - return seastar::now(); - })); + }).handle_error_interruptible( + remove_or_update_iertr::pass_further{}, + crimson::ct_error::assert_all{"unexpected error in SnapTrimObjSubEvent"} + ); }); }