rbd: complete notifies before cleaning up osd_client and rbd_dev
authorJosh Durgin <josh.durgin@inktank.com>
Fri, 30 Aug 2013 00:31:03 +0000 (17:31 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2014 20:24:26 +0000 (12:24 -0800)
commit282e0636dcf5ee3329d9266de64386f21dd4d7d6
tree0dec9896a763049f7f27f585af04f3263fdf7631
parenta2e5951b11b406a83f84c1eb3b5d722491f4d883
rbd: complete notifies before cleaning up osd_client and rbd_dev

commit 9abc59908e0c5f983aaa91150da32d5b62cf60b7 upstream.

To ensure rbd_dev is not used after it's released, flush all pending
notify callbacks before calling rbd_dev_image_release(). No new
notifies can be added to the queue at this point because the watch has
already be unregistered with the osd_client.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/block/rbd.c