aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-04-22 22:05:20 -0400
committerJens Axboe <jens.axboe@oracle.com>2009-04-28 01:37:36 -0400
commit731ec497e5888c6792ad62613ae9be97eebcd7ca (patch)
tree689a8442d8bdfd50ee6ab05b0c6acd0d229fe391
parentec24751a6b57e1373a12361e581b2458bc9bb791 (diff)
block: kill rq->data
Now that all block request data transfer is done via bio, rq->data isn't used. Kill it. While at it, make the roles of rq->special and buffer clear. [ Impact: drop now unncessary field from struct request ] Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Boaz Harrosh <bharrosh@panasas.com>
-rw-r--r--block/blk-core.c5
-rw-r--r--block/blk-map.c6
-rw-r--r--block/scsi_ioctl.c1
-rw-r--r--drivers/scsi/scsi_lib.c1
-rw-r--r--include/linux/blkdev.h5
5 files changed, 7 insertions, 11 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index 0520cc704585..6dd180cf15d2 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -189,10 +189,9 @@ void blk_dump_rq_flags(struct request *rq, char *msg)
189 (unsigned long long)rq->sector, 189 (unsigned long long)rq->sector,
190 rq->nr_sectors, 190 rq->nr_sectors,
191 rq->current_nr_sectors); 191 rq->current_nr_sectors);
192 printk(KERN_INFO " bio %p, biotail %p, buffer %p, data %p, len %u\n", 192 printk(KERN_INFO " bio %p, biotail %p, buffer %p, len %u\n",
193 rq->bio, rq->biotail, 193 rq->bio, rq->biotail,
194 rq->buffer, rq->data, 194 rq->buffer, rq->data_len);
195 rq->data_len);
196 195
197 if (blk_pc_request(rq)) { 196 if (blk_pc_request(rq)) {
198 printk(KERN_INFO " cdb: "); 197 printk(KERN_INFO " cdb: ");
diff --git a/block/blk-map.c b/block/blk-map.c
index f103729b462f..694fefad34e7 100644
--- a/block/blk-map.c
+++ b/block/blk-map.c
@@ -156,7 +156,7 @@ int blk_rq_map_user(struct request_queue *q, struct request *rq,
156 if (!bio_flagged(bio, BIO_USER_MAPPED)) 156 if (!bio_flagged(bio, BIO_USER_MAPPED))
157 rq->cmd_flags |= REQ_COPY_USER; 157 rq->cmd_flags |= REQ_COPY_USER;
158 158
159 rq->buffer = rq->data = NULL; 159 rq->buffer = NULL;
160 return 0; 160 return 0;
161unmap_rq: 161unmap_rq:
162 blk_rq_unmap_user(bio); 162 blk_rq_unmap_user(bio);
@@ -235,7 +235,7 @@ int blk_rq_map_user_iov(struct request_queue *q, struct request *rq,
235 blk_queue_bounce(q, &bio); 235 blk_queue_bounce(q, &bio);
236 bio_get(bio); 236 bio_get(bio);
237 blk_rq_bio_prep(q, rq, bio); 237 blk_rq_bio_prep(q, rq, bio);
238 rq->buffer = rq->data = NULL; 238 rq->buffer = NULL;
239 return 0; 239 return 0;
240} 240}
241EXPORT_SYMBOL(blk_rq_map_user_iov); 241EXPORT_SYMBOL(blk_rq_map_user_iov);
@@ -313,7 +313,7 @@ int blk_rq_map_kern(struct request_queue *q, struct request *rq, void *kbuf,
313 313
314 blk_rq_bio_prep(q, rq, bio); 314 blk_rq_bio_prep(q, rq, bio);
315 blk_queue_bounce(q, &rq->bio); 315 blk_queue_bounce(q, &rq->bio);
316 rq->buffer = rq->data = NULL; 316 rq->buffer = NULL;
317 return 0; 317 return 0;
318} 318}
319EXPORT_SYMBOL(blk_rq_map_kern); 319EXPORT_SYMBOL(blk_rq_map_kern);
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index 82a0ca2f6729..bb9aa43551b2 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -500,7 +500,6 @@ static int __blk_send_generic(struct request_queue *q, struct gendisk *bd_disk,
500 500
501 rq = blk_get_request(q, WRITE, __GFP_WAIT); 501 rq = blk_get_request(q, WRITE, __GFP_WAIT);
502 rq->cmd_type = REQ_TYPE_BLOCK_PC; 502 rq->cmd_type = REQ_TYPE_BLOCK_PC;
503 rq->data = NULL;
504 rq->data_len = 0; 503 rq->data_len = 0;
505 rq->extra_len = 0; 504 rq->extra_len = 0;
506 rq->timeout = BLK_DEFAULT_SG_TIMEOUT; 505 rq->timeout = BLK_DEFAULT_SG_TIMEOUT;
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 756ac7c93de0..aa9fc572e45f 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1088,7 +1088,6 @@ int scsi_setup_blk_pc_cmnd(struct scsi_device *sdev, struct request *req)
1088 return ret; 1088 return ret;
1089 } else { 1089 } else {
1090 BUG_ON(req->data_len); 1090 BUG_ON(req->data_len);
1091 BUG_ON(req->data);
1092 1091
1093 memset(&cmd->sdb, 0, sizeof(cmd->sdb)); 1092 memset(&cmd->sdb, 0, sizeof(cmd->sdb));
1094 req->buffer = NULL; 1093 req->buffer = NULL;
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index cfeb3c2feb27..12c545e2737c 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -211,8 +211,8 @@ struct request {
211 211
212 unsigned short ioprio; 212 unsigned short ioprio;
213 213
214 void *special; 214 void *special; /* opaque pointer available for LLD use */
215 char *buffer; 215 char *buffer; /* kaddr of the current segment if available */
216 216
217 int tag; 217 int tag;
218 int errors; 218 int errors;
@@ -229,7 +229,6 @@ struct request {
229 unsigned int data_len; 229 unsigned int data_len;
230 unsigned int extra_len; /* length of alignment and padding */ 230 unsigned int extra_len; /* length of alignment and padding */
231 unsigned int sense_len; 231 unsigned int sense_len;
232 void *data;
233 void *sense; 232 void *sense;
234 233
235 unsigned long deadline; 234 unsigned long deadline;