/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:529:33: error: 'mirror_action' in capture list does not name a variable
m_cond.wait(locker, [this, &mirror_action] {return !mirror_action.action_in_progress;});
^
/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:529:57: error: reference to local binding 'mirror_action' declared in enclosing function 'cephfs::mirror::Mirror::run'
m_cond.wait(locker, [this, &mirror_action] {return !mirror_action.action_in_progress;});
^
/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:526:27: note: 'mirror_action' declared here
for (auto &[filesystem, mirror_action] : m_mirror_actions) {
^
/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:529:26: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
m_cond.wait(locker, [this, &mirror_action] {return !mirror_action.action_in_progress;});
^~~~
1 warning and 2 errors generated.
Tracker: https://tracker.ceph.com/issues/47973
Fixes: https://github.com/ceph/ceph/pull/37313
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
for (auto &[filesystem, mirror_action] : m_mirror_actions) {
dout(10) << ": trying to shutdown filesystem=" << filesystem << dendl;
// wait for in-progress action and shutdown
- m_cond.wait(locker, [this, &mirror_action] {return !mirror_action.action_in_progress;});
+ m_cond.wait(locker, [&mirror_action=mirror_action]
+ {return !mirror_action.action_in_progress;});
if (mirror_action.fs_mirror &&
!mirror_action.fs_mirror->is_stopping() &&
!mirror_action.fs_mirror->is_failed()) {