From: runsisi Date: Sat, 9 Apr 2016 03:03:56 +0000 (+0800) Subject: journal: fix final result for JournalTrimmer::C_RemoveSet X-Git-Tag: v10.1.2~21^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F8516%2Fhead;p=ceph.git journal: fix final result for JournalTrimmer::C_RemoveSet if the first journal object got removed successfully while later objects failed then the final result should be set to fail Signed-off-by: runsisi --- diff --git a/src/journal/JournalTrimmer.cc b/src/journal/JournalTrimmer.cc index 68ba5f42ab4..74df78abc4f 100644 --- a/src/journal/JournalTrimmer.cc +++ b/src/journal/JournalTrimmer.cc @@ -194,7 +194,8 @@ JournalTrimmer::C_RemoveSet::C_RemoveSet(JournalTrimmer *_journal_trimmer, void JournalTrimmer::C_RemoveSet::complete(int r) { lock.Lock(); - if (r < 0 && r != -ENOENT && return_value == -ENOENT) { + if (r < 0 && r != -ENOENT && + (return_value == -ENOENT || return_value == 0)) { return_value = r; } else if (r == 0 && return_value == -ENOENT) { return_value = 0;