From 8f2da9a8114b666d7d9f83cc518a3c7bc93d3f9f 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 (cherry picked from commit 3d01cc627137d7f270969653fbae4b6230361d7a) Conflicts: - src/librbd/api/Trash.cc - src/tools/rbd/action/Trash.cc In mimic, the code that needs fixing was in 'tools/rbd/action/Trash.cc'. --- src/tools/rbd/action/Trash.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/tools/rbd/action/Trash.cc b/src/tools/rbd/action/Trash.cc index 3bcceda75a36..6313a5d205b2 100644 --- a/src/tools/rbd/action/Trash.cc +++ b/src/tools/rbd/action/Trash.cc @@ -393,11 +393,12 @@ int execute_purge (const po::variables_map &vm, 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::vector to_be_removed; -- 2.47.3