From 3d01cc627137d7f270969653fbae4b6230361d7a Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Tue, 22 Jan 2019 17:54:20 +0200 Subject: [PATCH] librbd: properly filter out trashed non-user images on purge Fixes: https://tracker.ceph.com/issues/38006 Signed-off-by: Mykola Golub --- src/librbd/api/Trash.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/librbd/api/Trash.cc b/src/librbd/api/Trash.cc index 1f0b1ffd8a366..83f420585c2d6 100644 --- a/src/librbd/api/Trash.cc +++ b/src/librbd/api/Trash.cc @@ -284,11 +284,12 @@ int Trash::purge(IoCtx& io_ctx, time_t expire_ts, return r; } - std::remove_if(trash_entries.begin(), trash_entries.end(), - [](librbd::trash_image_info_t info) { - return info.source != RBD_TRASH_IMAGE_SOURCE_USER; - } - ); + trash_entries.erase( + std::remove_if(trash_entries.begin(), trash_entries.end(), + [](librbd::trash_image_info_t info) { + return info.source != RBD_TRASH_IMAGE_SOURCE_USER; + }), + trash_entries.end()); std::set to_be_removed; if (threshold != -1) { -- 2.39.5