Exception handling in backward-compat case returned EIO even when
the actual backward-compat decode succeeded.
Fixes: https://tracker.ceph.com/issues/46677
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
/* try backward compat */
pair<string, int> oe;
try {
+ iter = it->second.begin();
decode(oe, iter);
entry = {oe.first, 0 /* start */, uint32_t(oe.second)};
} catch(buffer::error& err) {
CLS_LOG(
1, "ERROR: rgw_cls_lc_list_entries(): failed to decode entry\n");
+ return -EIO;
}
- return -EIO;
}
op_ret.entries.push_back(entry);
}