summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Gieschke2018-03-23 23:59:15 +0100
committerRafael Gieschke2018-03-23 23:59:15 +0100
commit69e354e2ec419459a215fa323d2009593ca5e789 (patch)
tree1b33c9d5e20ffa78da323cbe4ca7133c0fd0936d
parent[SERVER] Delete image files after releasing image to get rid of stale .map files (diff)
downloaddnbd3-69e354e2ec419459a215fa323d2009593ca5e789.tar.gz
dnbd3-69e354e2ec419459a215fa323d2009593ca5e789.tar.xz
dnbd3-69e354e2ec419459a215fa323d2009593ca5e789.zip
Follow https://github.com/torvalds/linux/commit/aebf526b53aea164508730427597d45f3e06b376
-rw-r--r--src/kernel/blk.c8
-rw-r--r--src/kernel/net.c14
2 files changed, 11 insertions, 11 deletions
diff --git a/src/kernel/blk.c b/src/kernel/blk.c
index 5dec195..6f2523c 100644
--- a/src/kernel/blk.c
+++ b/src/kernel/blk.c
@@ -267,7 +267,7 @@ void dnbd3_blk_request(struct request_queue *q)
continue;
}
- if (req->cmd_type != REQ_TYPE_FS)
+ if (req_op(req) != REQ_OP_READ && req_op(req) != REQ_OP_WRITE)
{
__blk_end_request_all(req, 0);
continue;
@@ -279,7 +279,7 @@ void dnbd3_blk_request(struct request_queue *q)
continue;
}
- if (rq_data_dir(req) != READ)
+ if (req_op(req) != REQ_OP_READ)
{
__blk_end_request_all(req, -EACCES);
continue;
@@ -341,13 +341,13 @@ void dnbd3_blk_fail_all_requests(dnbd3_device_t *dev)
list_for_each_entry_safe(blk_request, tmp_request, &local_copy, queuelist)
{
list_del_init(&blk_request->queuelist);
- if (blk_request->cmd_type == REQ_TYPE_FS)
+ if (req_op(blk_request) == REQ_OP_READ || req_op(blk_request) == REQ_OP_WRITE)
{
spin_lock_irqsave(&dev->blk_lock, flags);
__blk_end_request_all(blk_request, -EIO);
spin_unlock_irqrestore(&dev->blk_lock, flags);
}
- else if (blk_request->cmd_type == REQ_TYPE_SPECIAL)
+ else if (blk_rq_is_private(blk_request))
{
kfree(blk_request);
}
diff --git a/src/kernel/net.c b/src/kernel/net.c
index f6de404..6895c6b 100644
--- a/src/kernel/net.c
+++ b/src/kernel/net.c
@@ -273,8 +273,7 @@ int dnbd3_net_connect(dnbd3_device_t *dev)
dev->panic_count = 0;
// Enqueue request to request_queue_send for a fresh list of alt servers
- req1->cmd_type = REQ_TYPE_SPECIAL;
- req1->cmd_flags = CMD_GET_SERVERS;
+ req1->cmd_flags = REQ_OP_DRV_IN | CMD_GET_SERVERS;
list_add(&req1->queuelist, &dev->request_queue_send);
// create required threads
@@ -374,8 +373,7 @@ void dnbd3_net_heartbeat(unsigned long arg)
// send keepalive
if (req)
{
- req->cmd_type = REQ_TYPE_SPECIAL;
- req->cmd_flags = CMD_KEEPALIVE;
+ req->cmd_flags = REQ_OP_DRV_IN | CMD_KEEPALIVE;
list_add_tail(&req->queuelist, &dev->request_queue_send);
wake_up(&dev->process_queue_send);
}
@@ -846,9 +844,10 @@ int dnbd3_net_send(void *data)
spin_unlock_irqrestore(&dev->blk_lock, irqflags);
// what to do?
- switch (blk_request->cmd_type)
+ switch (req_op(blk_request))
{
- case REQ_TYPE_FS:
+ case REQ_OP_READ:
+ case REQ_OP_WRITE:
dnbd3_request.cmd = CMD_GET_BLOCK;
dnbd3_request.offset = blk_rq_pos(blk_request) << 9; // *512
dnbd3_request.size = blk_rq_bytes(blk_request); // bytes left to complete entire request
@@ -859,7 +858,8 @@ int dnbd3_net_send(void *data)
spin_unlock_irqrestore(&dev->blk_lock, irqflags);
break;
- case REQ_TYPE_SPECIAL:
+ case REQ_OP_DRV_IN:
+ case REQ_OP_DRV_OUT:
dnbd3_request.cmd = blk_request->cmd_flags;
dnbd3_request.size = 0;
spin_lock_irqsave(&dev->blk_lock, irqflags);