From 9da684316630ac1c087e03ca6ec039bd4222c0bd Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 16 May 2017 17:31:07 -0400 Subject: [PATCH] osd/PGLog: avoid pinning large buffers with ObjectModDesc Accidentally removed by 5e0ec06376f832d32a6b1af390f925a59b03798f. Signed-off-by: Sage Weil --- src/osd/PGLog.h | 3 +++ src/osd/osd_types.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/osd/PGLog.h b/src/osd/PGLog.h index e4d0fa304ab3..d4dfc450a42b 100644 --- a/src/osd/PGLog.h +++ b/src/osd/PGLog.h @@ -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); diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 68804cad1510..0f1856c60cf8 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -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(); } -- 2.47.3