common: use boost::shared_mutex on Windows
The winpthreads shared mutex implementation causes deadlocks on
Windows [1][2]. Specifically, async RBD IO calls are hanging. This
also prevents the images from being unmounted.
For this reason, we're switching to boost::shared_mutex when using
MinGW.
[1] https://github.com/cloudbase/wnbd/issues/63#issuecomment-
1161547102
[2] https://github.com/msys2/MINGW-packages/issues/3319
Trace: https://pastebin.com/raw/i3jpTyS3
Fixes: https://tracker.ceph.com/issues/56480
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit
35b67b2558fd4b7c39ca10e5b13b4dc6c983ce3c)