summaryrefslogtreecommitdiffstats
path: root/src/kernel/block.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/block.c')
-rw-r--r--src/kernel/block.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/kernel/block.c b/src/kernel/block.c
index 4eb52c5..26caa25 100644
--- a/src/kernel/block.c
+++ b/src/kernel/block.c
@@ -13,13 +13,7 @@
#define dnbd3_sock_create(af,type,proto,sock) sock_create_kern(&init_net, (af) == HOST_IP4 ? AF_INET : AF_INET6, type, proto, sock)
-#define init_msghdr(h) do { \
- h.msg_name = NULL; \
- h.msg_namelen = 0; \
- h.msg_control = NULL; \
- h.msg_controllen = 0; \
- h.msg_flags = MSG_WAITALL | MSG_NOSIGNAL; \
- } while (0)
+
static int dnbd3_open(struct block_device *bdev, fmode_t mode)
{
@@ -222,6 +216,8 @@ int dnbd3_net_connect(dnbd3_device_t *dev)
dev->panic = 0;
dev->panic_count = 0;
+ refcount_inc(&dev->config_refs);
+
// Enqueue request to request_queue_send for a fresh list of alt servers
//TODO refresh alt server list
@@ -337,7 +333,7 @@ static int dnbd3_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd
dev->imgname = imgname;
dev->rid = msg->rid;
dev->use_server_provided_alts = msg->use_server_provided_alts;
- // Forget all alt servers on explicit connect, set first al server to initial server
+ // Forget all alt servers on explicit connect, set first alt server to initial server
memset(dev->alt_servers, 0, sizeof(dev->alt_servers[0])*NUMBER_SERVERS);
memcpy(dev->alt_servers, &dev->initial_server, sizeof(dev->alt_servers[0]));
//#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
@@ -397,7 +393,7 @@ static int dnbd3_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd
break;
default:
- printk(KERN_DEBUG "dnbd3: ioctl unhandled cmd\n");
+ printk(KERN_DEBUG "dnbd3: ioctl unhandled cmd %d\n", cmd);
result = -EIO;
break;
}