librbd: ensure that thread pool lock is held when processing throttled IOs
There previously was a potential race for throttled IOs to complete prior
to the main worker thread finishing the processing of the blocked IO.
Fixes: https://tracker.ceph.com/issues/47371
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2d86e0935aa6f0c392df428676d9ab0a338fccae)
Conflicts:
src/test/librbd/io/test_mock_ImageRequestWQ.cc
- in Octopus, commit
792d6c53fedc695199cc18916347c1b545fe42c2 did a global
replace of Mutex to ceph::mutex, so to fix this for Nautilus, we just need to
do that in test_mock_ImageRequestWQ.cc since the get_pool_lock() method is
returning a Mutex instead of a ceph::mutex