summaryrefslogtreecommitdiffstats
path: root/src/kernel/blk.c
diff options
context:
space:
mode:
authorJohann Latocha2012-01-30 21:57:52 +0100
committerJohann Latocha2012-01-30 21:57:52 +0100
commit83c80e33b2ad1ecc37e5fb637c411fbb33371a81 (patch)
tree3c2cdb691e5febcb7340ada5d38465b3e6e56efe /src/kernel/blk.c
parent[SERVER] Some refactoring (diff)
downloaddnbd3-83c80e33b2ad1ecc37e5fb637c411fbb33371a81.tar.gz
dnbd3-83c80e33b2ad1ecc37e5fb637c411fbb33371a81.tar.xz
dnbd3-83c80e33b2ad1ecc37e5fb637c411fbb33371a81.zip
[SERVER] Timeout for client sockets
[KERNEL] Send keep alive
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);