crimson/common/errorator: fix errorator::pass_further and discard_all
Previously, both of these were invocable on all errors, but would
static_assert on invalid ones. What we actually want is for them
to only be invocable on valid errors. That way, we can do, for
instance:
}).handle_error(
roll_journal_segment_ertr::pass_further{},
SegmentManager::open_ertr::all_same_way([this](auto &&e) {
logger().error(
"error {} in close segment {}",
e,
current_journal_segment_id);
ceph_assert(0 == "error in close");
return;
})
to explicitely propogate any errors in roll_journal_segment_ertr
while asserting on anything else.