summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorSimon Rettberg2014-07-04 15:10:37 +0200
committerSimon Rettberg2014-07-04 15:10:37 +0200
commit4dae06fb0fe5339aa14a2f39284f7d6befff2c3c (patch)
tree412e494143a1c939e0ca70f006a1dfa6f1573f14 /src/kernel
parentImprove uplink handling, add code to debug thread creation/destruction, chang... (diff)
downloaddnbd3-4dae06fb0fe5339aa14a2f39284f7d6befff2c3c.tar.gz
dnbd3-4dae06fb0fe5339aa14a2f39284f7d6befff2c3c.tar.xz
dnbd3-4dae06fb0fe5339aa14a2f39284f7d6befff2c3c.zip
[KERNEL] Support for kernel 3.14
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/net.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/kernel/net.c b/src/kernel/net.c
index 9b0de11..ab7a211 100644
--- a/src/kernel/net.c
+++ b/src/kernel/net.c
@@ -906,7 +906,8 @@ int dnbd3_net_receive(void *data)
struct msghdr msg;
struct kvec iov;
struct req_iterator iter;
- struct bio_vec *bvec;
+ struct bio_vec bvec_inst;
+ struct bio_vec *bvec = &bvec_inst;
void *kaddr;
unsigned long irqflags;
sigset_t blocked, oldset;
@@ -966,7 +967,11 @@ int dnbd3_net_receive(void *data)
error_dev_va("ERROR: Received block data for unrequested handle (%llu: %llu).\n",
(unsigned long long)dnbd3_reply.handle, (unsigned long long)dnbd3_reply.size);
// receive data and answer to block layer
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
+ rq_for_each_segment(bvec_inst, blk_request, iter)
+#else
rq_for_each_segment(bvec, blk_request, iter)
+#endif
{
siginitsetinv(&blocked, sigmask(SIGKILL));
sigprocmask(SIG_SETMASK, &blocked, &oldset);