summaryrefslogtreecommitdiffstats
path: root/src/kernel/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/core.c')
-rw-r--r--src/kernel/core.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/kernel/core.c b/src/kernel/core.c
index f4b7204..7e985f7 100644
--- a/src/kernel/core.c
+++ b/src/kernel/core.c
@@ -192,17 +192,12 @@ static void dnbd3_blk_fail_all_requests(dnbd3_device *dev)
static int dnbd3_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg)
{
- int result = -100;
+ int result = -EIO;
dnbd3_device *dev = bdev->bd_disk->private_data;
char *imgname = NULL;
dnbd3_ioctl_t *msg = NULL;
printk(KERN_DEBUG "dnbd3: ioctl device %i, cmd %i, arg %lu\n", dev->minor, cmd, arg);
- //unsigned long irqflags;
-
-// while (dev->disconnecting) {
-// // do nothing
-// }
if (arg != 0) {
msg = kmalloc(sizeof(*msg), GFP_KERNEL);
@@ -271,7 +266,7 @@ static int dnbd3_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd
case IOCTL_CLOSE:
printk(KERN_DEBUG "dnbd3: ioctl close\n");
dnbd3_blk_fail_all_requests(dev);
- dnbd3_net_disconnect(dev);
+ result = dnbd3_net_disconnect(dev);
dnbd3_blk_fail_all_requests(dev);
set_capacity(dev->disk, 0);
if (dev->imgname) {