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 <runsisi@zte.com.cn>
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;