diff options
author | Dirk von Suchodoletz | 2009-03-26 15:45:38 +0100 |
---|---|---|
committer | Dirk von Suchodoletz | 2009-03-26 15:45:38 +0100 |
commit | 9b308b4215dda5de3536e8cf0fd7e9842c814bf7 (patch) | |
tree | 9308cd7d71f093841b1f07dcb57d91eacc46322d /kernel/core.c | |
parent | * added kernel version check to module source (diff) | |
download | dnbd2-9b308b4215dda5de3536e8cf0fd7e9842c814bf7.tar.gz dnbd2-9b308b4215dda5de3536e8cf0fd7e9842c814bf7.tar.xz dnbd2-9b308b4215dda5de3536e8cf0fd7e9842c814bf7.zip |
It compiles - but if it works :)
git-svn-id: http://svn.openslx.org/svn/openslx/contrib/dnbd2/trunk@2759 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'kernel/core.c')
-rw-r--r-- | kernel/core.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/core.c b/kernel/core.c index 6bee380..01ff4b1 100644 --- a/kernel/core.c +++ b/kernel/core.c @@ -15,8 +15,11 @@ int dnbd2_major; static dnbd2_device_t dev[DNBD2_DEVICES]; - +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) +void dnbd2_request(struct request_queue *q) +#else void dnbd2_request(request_queue_t *q) +#endif { int i; struct request *req; @@ -311,8 +314,12 @@ void dnbd2_end_request(struct request *req, int success) dev = req->rq_disk->private_data; spin_lock_irqsave(&dev->blk_lock, flags); list_del_init(&req->queuelist); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) + if(!__blk_end_request(req, success, req->nr_sectors)) { +#else if (!end_that_request_first(req, success, req->nr_sectors)) { end_that_request_last(req, success); +#endif } dev->pending_reqs--; spin_unlock_irqrestore(&dev->blk_lock, flags); |