block: Support passing NULL ops to blk_set_dev_ops()
authorXie Yongji <xieyongji@bytedance.com>
Mon, 23 May 2022 08:46:04 +0000 (16:46 +0800)
committerKevin Wolf <kwolf@redhat.com>
Fri, 24 Jun 2022 15:07:06 +0000 (17:07 +0200)
This supports passing NULL ops to blk_set_dev_ops()
so that we can remove stale ops in some cases.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220523084611.91-2-xieyongji@bytedance.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/block-backend.c

index d4abdf8faa0a4d572dcb90591816b11f734258a4..f425b00793cd03ad16fd5501d4f39e4e31e454cf 100644 (file)
@@ -1058,7 +1058,7 @@ void blk_set_dev_ops(BlockBackend *blk, const BlockDevOps *ops,
     blk->dev_opaque = opaque;
 
     /* Are we currently quiesced? Should we enforce this right now? */
-    if (blk->quiesce_counter && ops->drained_begin) {
+    if (blk->quiesce_counter && ops && ops->drained_begin) {
         ops->drained_begin(opaque);
     }
 }