Эх сурвалжийг харах

nbd: cleanup workqueue on error properly

If we fail to register the blockdev we need to make sure to destroy the
recv workqueue.

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Josef Bacik 8 жил өмнө
parent
commit
6330a2d0b4
1 өөрчлөгдсөн 3 нэмэгдсэн , 1 устгасан
  1. 3 1
      drivers/block/nbd.c

+ 3 - 1
drivers/block/nbd.c

@@ -1121,8 +1121,10 @@ static int __init nbd_init(void)
 	if (!recv_workqueue)
 		return -ENOMEM;
 
-	if (register_blkdev(NBD_MAJOR, "nbd"))
+	if (register_blkdev(NBD_MAJOR, "nbd")) {
+		destroy_workqueue(recv_workqueue);
 		return -EIO;
+	}
 
 	nbd_dbg_init();