summaryrefslogtreecommitdiffstats
path: root/src/kernel/blk.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/blk.c')
-rw-r--r--src/kernel/blk.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/kernel/blk.c b/src/kernel/blk.c
index c495205..fe66e1d 100644
--- a/src/kernel/blk.c
+++ b/src/kernel/blk.c
@@ -57,6 +57,8 @@ int dnbd3_blk_add_device(struct dnbd3_device *dev, int minor)
queue_flag_set_unlocked(QUEUE_FLAG_NONROT, disk->queue);
dev->disk = disk;
+ dev->hb_request.cmd_type = REQ_TYPE_SPECIAL;
+
add_disk(disk); // must be last
return 0;
}
@@ -69,6 +71,9 @@ int dnbd3_blk_del_device(struct dnbd3_device *dev)
dev->sock = NULL;
}
+ if (&dev->hb_timer)
+ del_timer(&dev->hb_timer);
+
del_gendisk(dev->disk);
put_disk(dev->disk);
blk_cleanup_queue(dev->disk->queue);