]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
crimson/ertr: let ErrVisitorT return plain value if ValueFuncT returns seastar::future
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 22 Nov 2022 16:03:42 +0000 (16:03 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 28 Feb 2023 16:22:04 +0000 (16:22 +0000)
commita9b270baa0c872f9a8843591e345d9fef49b768e
treef6ce9812add122b364a8278d1fb203577c8697d7
parent89b322d387528bb77ee521f018d84692ee5eba66
crimson/ertr: let ErrVisitorT return plain value if ValueFuncT returns seastar::future

The following corner case was unsupported till now:

```cpp
  return os->omap_get_values(
    ch, hoid, keys
  ).safe_then([] (FuturizedStore::omap_values_t&& vals) {
    return 0;
  }, FuturizedStore::read_errorator::all_same_way([] (auto&) {
    return -1;
  })).get();
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/common/errorator.h