]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
librbd: avoid aggregate-initializing IsWriteOpVisitor
authorWillem Jan Withagen <wjw@digiware.nl>
Fri, 8 Mar 2019 13:59:09 +0000 (14:59 +0100)
committerWillem Jan Withagen <wjw@digiware.nl>
Fri, 8 Mar 2019 14:55:54 +0000 (15:55 +0100)
commit1d7b291874b65770c0f0a56f2df59326687e7083
tree790f0c9da14a33a8d77fddc0f74801fac4db11ed
parentb0496c44edfadcb433e5ab1693f211cd7c113d38
librbd: avoid aggregate-initializing IsWriteOpVisitor

Clang 8 complains about missing dtor, and this circumvents this problem.
```
/home/jenkins/workspace/ceph-master/src/librbd/io/ImageDispatchSpec.cc:136:48:
error: temporary of type 'boost::static_visitor<bool>' has protected
destructor
   return boost::apply_visitor(IsWriteOpVisitor{}, m_request);
                                                ^
/home/jenkins/workspace/ceph-master/src/librbd/io/ImageDispatchSpec.cc:152:28:
note: in instantiation of member function
'librbd::io::ImageDispatchSpec<librbd::ImageCtx>::is_write_op' requested
here
template class librbd::io::ImageDispatchSpec<librbd::ImageCtx>;
                            ^
/usr/local/include/boost/variant/static_visitor.hpp:53:5: note: declared
protected here
     ~static_visitor() = default;
     ^
1 error generated.
gmake[2]: *** [src/librbd/CMakeFiles/rbd_internal.dir/build.make:895:
src/librbd/CMakeFiles/rbd_internal.dir/io/ImageDispatchSpec.cc.o] Error 1
```

The details of the problem are explained in more detail in:
https://github.com/ceph/ceph/pull/26301/commits/09870d7a083913b5a3830ba8b0be04d0b0996aca

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
src/librbd/io/ImageDispatchSpec.cc