Messages in this thread |  | | | Subject | Re: [PATCH 08/10] block: cleanup rq->data_len usages | | From | James Bottomley <> | | Date | Thu, 30 Apr 2009 10:35:57 -0500 |
| |
On Thu, 2009-04-30 at 16:47 +0300, Boaz Harrosh wrote: > > @@ -966,7 +965,7 @@ static int scsi_init_sgtable(struct request > *req, struct scsi_data_buffer *sdb, > > BUG_ON(count > sdb->table.nents); > > sdb->table.nents = count; > > if (blk_pc_request(req)) > > - sdb->length = req->data_len; > > + sdb->length = blk_rq_bytes(req); > > else > > sdb->length = blk_rq_sectors(req) << 9; > > Is this true. I thought they must be the same now. I was actually > anticipating this if() removed.
Me too ... there's one of these in scsi_lib.c as well.
The difference comes because filesystem requests are always in sectors, but BLOCK_PC requests are always in bytes .... we should be able to wrap the accessors so they do the correct conversions. James
|  |