projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
[powerpc.git]
/
block
/
bsg.c
diff --git
a/block/bsg.c
b/block/bsg.c
index
d60eee5
..
8e181ab
100644
(file)
--- a/
block/bsg.c
+++ b/
block/bsg.c
@@
-1,5
+1,5
@@
/*
/*
- * bsg.c - block layer implementation of the sg v
3
interface
+ * bsg.c - block layer implementation of the sg v
4
interface
*
* Copyright (C) 2004 Jens Axboe <axboe@suse.de> SUSE Labs
* Copyright (C) 2004 Peter M. Jones <pjones@redhat.com>
*
* Copyright (C) 2004 Jens Axboe <axboe@suse.de> SUSE Labs
* Copyright (C) 2004 Peter M. Jones <pjones@redhat.com>
@@
-421,7
+421,6
@@
static int blk_complete_sgv4_hdr_rq(struct request *rq, struct sg_io_v4 *hdr,
hdr->info = 0;
if (hdr->device_status || hdr->transport_status || hdr->driver_status)
hdr->info |= SG_INFO_CHECK;
hdr->info = 0;
if (hdr->device_status || hdr->transport_status || hdr->driver_status)
hdr->info |= SG_INFO_CHECK;
- hdr->din_resid = rq->data_len;
hdr->response_len = 0;
if (rq->sense_len && hdr->response) {
hdr->response_len = 0;
if (rq->sense_len && hdr->response) {
@@
-437,9
+436,14
@@
static int blk_complete_sgv4_hdr_rq(struct request *rq, struct sg_io_v4 *hdr,
}
if (rq->next_rq) {
}
if (rq->next_rq) {
+ hdr->dout_resid = rq->data_len;
+ hdr->din_resid = rq->next_rq->data_len;
blk_rq_unmap_user(bidi_bio);
blk_put_request(rq->next_rq);
blk_rq_unmap_user(bidi_bio);
blk_put_request(rq->next_rq);
- }
+ } else if (rq_data_dir(rq) == READ)
+ hdr->din_resid = rq->data_len;
+ else
+ hdr->dout_resid = rq->data_len;
blk_rq_unmap_user(bio);
blk_put_request(rq);
blk_rq_unmap_user(bio);
blk_put_request(rq);
@@
-904,7
+908,7
@@
static long bsg_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
}
}
}
}
-static struct file_operations bsg_fops = {
+static
const
struct file_operations bsg_fops = {
.read = bsg_read,
.write = bsg_write,
.poll = bsg_poll,
.read = bsg_read,
.write = bsg_write,
.poll = bsg_poll,
@@
-1006,10
+1010,7
@@
unlock:
}
EXPORT_SYMBOL_GPL(bsg_register_queue);
}
EXPORT_SYMBOL_GPL(bsg_register_queue);
-static struct cdev bsg_cdev = {
- .kobj = {.name = "bsg", },
- .owner = THIS_MODULE,
-};
+static struct cdev bsg_cdev;
static int __init bsg_init(void)
{
static int __init bsg_init(void)
{