]> 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)
committerRadosław Zarzyński <rzarzyns@redhat.com>
Wed, 7 Dec 2022 08:26:09 +0000 (09:26 +0100)
commitbcda14427b5a18f3d7d5284dce72b46f6bf60a8b
tree96acf1a77ea35e23ecc4fd768a69427cfd078c34
parent25c18c5eba168edaac802ecd538e4976e5662868
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