]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PGLog: avoid pinning large buffers with ObjectModDesc 15120/head
authorSage Weil <sage@redhat.com>
Tue, 16 May 2017 21:31:07 +0000 (17:31 -0400)
committerSage Weil <sage@redhat.com>
Tue, 16 May 2017 21:33:54 +0000 (17:33 -0400)
Accidentally removed by 5e0ec06376f832d32a6b1af390f925a59b03798f.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PGLog.h
src/osd/osd_types.h

index e4d0fa304ab326489342d6c72f900608ac6705c9..d4dfc450a42bf0d39e904f76b5e532acbddea8b9 100644 (file)
@@ -440,6 +440,9 @@ public:
        assert(get_can_rollback_to() == head);
       }
 
+      // make sure our buffers don't pin bigger buffers
+      e.mod_desc.trim_bl();
+
       // add to log
       log.push_back(e);
 
index 68804cad15103a7242f8c2ea44572ad705f28e5e..0f1856c60cf8b7992d7508d801390a529cdfbc13 100644 (file)
@@ -3225,7 +3225,7 @@ public:
    * in the case that bl contains ptrs which point into a much larger
    * message buffer
    */
-  void trim_bl() {
+  void trim_bl() const {
     if (bl.length() > 0)
       bl.rebuild();
   }