From: Samuel Just Date: Thu, 4 Jul 2024 00:58:42 +0000 (+0000) Subject: crimson/.../pg_interval_interrupt_condition: allow specifying epoch X-Git-Tag: v19.2.1~307^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f2aea46f704e30782c50f0b829c1645996e46f2e;p=ceph.git crimson/.../pg_interval_interrupt_condition: allow specifying epoch This allows a with_interruption caller to specify an epoch other than the current pg epoch. Doing so is important if the operation in question was initiated prior to continuation which invokes with_interruption and a map advance may have occured in the mean time. Signed-off-by: Samuel Just (cherry picked from commit 7a1b91ac5e030c490279d8140e568d6d08aba3c8) --- diff --git a/src/crimson/osd/pg_interval_interrupt_condition.cc b/src/crimson/osd/pg_interval_interrupt_condition.cc index b72044d4e57e..62a0988aa8c0 100644 --- a/src/crimson/osd/pg_interval_interrupt_condition.cc +++ b/src/crimson/osd/pg_interval_interrupt_condition.cc @@ -15,6 +15,8 @@ interrupt_cond; namespace crimson::osd { +IOInterruptCondition::IOInterruptCondition(Ref& pg, epoch_t e) + : pg(pg), e(e) {} IOInterruptCondition::IOInterruptCondition(Ref& pg) : pg(pg), e(pg->get_osdmap_epoch()) {} diff --git a/src/crimson/osd/pg_interval_interrupt_condition.h b/src/crimson/osd/pg_interval_interrupt_condition.h index a3a0a1edbcf5..4ffb04740c65 100644 --- a/src/crimson/osd/pg_interval_interrupt_condition.h +++ b/src/crimson/osd/pg_interval_interrupt_condition.h @@ -14,6 +14,7 @@ class PG; class IOInterruptCondition { public: + IOInterruptCondition(Ref& pg, epoch_t e); IOInterruptCondition(Ref& pg); ~IOInterruptCondition();