diff options
author | Johann Latocha | 2012-05-21 18:41:20 +0200 |
---|---|---|
committer | Johann Latocha | 2012-05-21 18:41:20 +0200 |
commit | afdef2fa176881f11ebaac09abf1d13d0502c945 (patch) | |
tree | 6dbc870b86fb8b2562dae2e5dc31a47210eda589 /src/kernel/blk.c | |
parent | [KERNEL] RTT bug fixed (diff) | |
download | dnbd3-afdef2fa176881f11ebaac09abf1d13d0502c945.tar.gz dnbd3-afdef2fa176881f11ebaac09abf1d13d0502c945.tar.xz dnbd3-afdef2fa176881f11ebaac09abf1d13d0502c945.zip |
[ALL] Some cleanup
Diffstat (limited to 'src/kernel/blk.c')
-rw-r--r-- | src/kernel/blk.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/kernel/blk.c b/src/kernel/blk.c index 369627f..2f52cc3 100644 --- a/src/kernel/blk.c +++ b/src/kernel/blk.c @@ -99,6 +99,7 @@ struct block_device_operations dnbd3_blk_ops = int dnbd3_blk_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { + int result = 0; dnbd3_device_t *dev = bdev->bd_disk->private_data; struct request_queue *blk_queue = dev->disk->queue; dnbd3_ioctl_t *msg = kmalloc(sizeof(dnbd3_ioctl_t), GFP_KERNEL); @@ -108,33 +109,34 @@ int dnbd3_blk_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, u { case IOCTL_OPEN: strcpy(dev->cur_server.host, msg->host); - strcpy(dev->cur_server.port, msg->port); + strcpy(dev->cur_server.port, PORTSTR); dev->vid = msg->vid; dev->rid = msg->rid; blk_queue->backing_dev_info.ra_pages = (msg->read_ahead_kb * 1024)/ PAGE_CACHE_SIZE; - return dnbd3_net_connect(dev); + result = dnbd3_net_connect(dev); + break; case IOCTL_CLOSE: set_capacity(dev->disk, 0); - dnbd3_net_disconnect(dev); + result = dnbd3_net_disconnect(dev); break; case IOCTL_SWITCH: dnbd3_net_disconnect(dev); strcpy(dev->cur_server.host, msg->host); - return dnbd3_net_connect(dev); + result = dnbd3_net_connect(dev); + break; case BLKFLSBUF: break; default: - kfree(msg); - return -1; + result = -EIO; } kfree(msg); - return 0; + return result; } void dnbd3_blk_request(struct request_queue *q) |