AIO requests that are waiting on the image lock should be flushed
during all existing RBD flush scenarios. A few flush cases were
missed in the original implementation.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
return r;
}
- if (ictx->image_watcher != NULL) {
- ictx->image_watcher->flush_aio_operations();
- }
ictx->user_flushed();
r = _flush(ictx);
ictx->perfcounter->inc(l_librbd_flush);
int _flush(ImageCtx *ictx)
{
+ if (ictx->image_watcher != NULL) {
+ ictx->image_watcher->flush_aio_operations();
+ }
+
CephContext *cct = ictx->cct;
int r;
// flush any outstanding writes