]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Don't include user changeable flag in snaptrim related assert 28203/head
authorDavid Zafman <dzafman@redhat.com>
Tue, 30 Apr 2019 03:20:18 +0000 (20:20 -0700)
committerDavid Zafman <dzafman@redhat.com>
Tue, 21 May 2019 17:59:18 +0000 (10:59 -0700)
Caused by: a53ba7314c53e75d1e0b8a0edd29181db3c93863

Fixes: http://tracker.ceph.com/issues/38124
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 63c2060c2d9eef49dacf2ba240ccfbead9791f43)

src/osd/PrimaryLogPG.h

index c0f4afb1846ad5baaf3fa8fba1969c777ea4a46e..88fc547ab646571d53035f2510a9f3bfd8371801 100644 (file)
@@ -1578,11 +1578,15 @@ private:
     explicit SnapTrimmer(PrimaryLogPG *pg) : pg(pg) {}
     void log_enter(const char *state_name);
     void log_exit(const char *state_name, utime_t duration);
-    bool can_trim() {
+    bool permit_trim() {
       return
        pg->is_clean() &&
        !pg->scrubber.active &&
-       !pg->snap_trimq.empty() &&
+       !pg->snap_trimq.empty();
+    }
+    bool can_trim() {
+      return
+       permit_trim() &&
        !pg->get_osdmap()->test_flag(CEPH_OSDMAP_NOSNAPTRIM);
     }
   } snap_trimmer_machine;
@@ -1601,7 +1605,7 @@ private:
       : my_base(ctx),
        NamedState(context< SnapTrimmer >().pg, "Trimming") {
       context< SnapTrimmer >().log_enter(state_name);
-      ceph_assert(context< SnapTrimmer >().can_trim());
+      ceph_assert(context< SnapTrimmer >().permit_trim());
       ceph_assert(in_flight.empty());
     }
     void exit() {