]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: update assertion about reservation 48691/head
authorZhang Song <zhangsong325@gmail.com>
Tue, 6 Dec 2022 07:38:36 +0000 (15:38 +0800)
committerZhang Song <zhangsong325@gmail.com>
Wed, 7 Dec 2022 06:26:58 +0000 (14:26 +0800)
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
src/crimson/os/seastore/extent_placement_manager.cc
src/crimson/os/seastore/extent_placement_manager.h

index 535d52e2c07983fb3244f12ad61d14229e3542d7..512c40c7d804bbd7e12093b99c01ba5c09e38c1f 100644 (file)
@@ -443,7 +443,9 @@ seastar::future<>
 ExtentPlacementManager::BackgroundProcess::reserve_projected_usage(
     projected_usage_t usage)
 {
-  ceph_assert(is_ready());
+  if (!is_ready()) {
+    return seastar::now();
+  }
   ceph_assert(!blocking_io);
   // The pipeline configuration prevents another IO from entering
   // prepare until the prior one exits and clears this.
@@ -470,7 +472,7 @@ ExtentPlacementManager::BackgroundProcess::reserve_projected_usage(
         ceph_assert(!blocking_io);
         auto res = try_reserve(usage);
         if (res.is_successful()) {
-          assert(stats.io_blocking_num > 0);
+          assert(stats.io_blocking_num == 1);
           --stats.io_blocking_num;
           return seastar::make_ready_future<seastar::stop_iteration>(
             seastar::stop_iteration::yes);
index 3297af0394f8bc671d688569a9311090462d3a38..45e1f9b1e199bf84b9d47360c8705116b15ae5ee 100644 (file)
@@ -463,9 +463,10 @@ private:
     seastar::future<> reserve_projected_usage(projected_usage_t usage);
 
     void release_projected_usage(projected_usage_t usage) {
-      ceph_assert(is_ready());
-      trimmer->release_inline_usage(usage.inline_usage);
-      cleaner->release_projected_usage(usage.inline_usage + usage.ool_usage);
+      if (is_ready()) {
+        trimmer->release_inline_usage(usage.inline_usage);
+        cleaner->release_projected_usage(usage.inline_usage + usage.ool_usage);
+      }
     }
 
     seastar::future<> stop_background();