From: Tejun Heo <tj@kernel.org>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Boaz Harrosh <bharrosh@panasas.com>,
axboe@kernel.dk, linux-kernel@vger.kernel.org, jeff@garzik.org,
linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
bzolnier@gmail.com, petkovbb@googlemail.com,
sshtylyov@ru.mvista.com, mike.miller@hp.com,
chirag.kantharia@hp.com, Eric.Moore@lsi.com,
stern@rowland.harvard.edu, fujita.tomonori@lab.ntt.co.jp,
zaitcev@redhat.com, Geert.Uytterhoeven@sonycom.com,
sfr@canb.auug.org.au, grant.likely@secretlab.ca,
paul.clements@steeleye.com, jesper.juhl@gmail.com,
tim@cyberelk.net, jeremy@xensource.com, adrian@mcmen.demon.co.uk,
oakad@yahoo.com, dwmw2@infradead.org, schwidefsky@de.ibm.com,
ballabio_dario@emc.com, davem@davemloft.net,
rusty@rustcorp.com.au, Markus.Lidel@shadowconnect.com,
"Darrick J. Wong" <djwong@us.ibm.com>
Subject: Re: [PATCH 08/10] block: cleanup rq->data_len usages
Date: Sun, 03 May 2009 10:32:19 +0900 [thread overview]
Message-ID: <49FCF423.7040609@kernel.org> (raw)
In-Reply-To: <1241105757.3320.1.camel@mulgrave.int.hansenpartnership.com>
James Bottomley wrote:
> 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.
Not until the next patch. It's probably safe for scsi to make the
switch here but I wanted to do the transition in two logical steps -
1. make all users use accessors in the defined manner without
affecting anything else 2. knowing #1 is true for all low level
drivers, unify implementation inside block layer. I had a following
patch which tried to do sweep conversion of all llds (which is
guaranteed to be safe after #2 has happened) but it looked like more
trouble than worth and seems like best left to each subsystem, so
please go ahead and clean up subsystems on top of this patchset. :-)
> 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.
After this series is applied, blk_rq_bytes() >> 9 == blk_rq_sectors()
is guaranteed (note that blk_rq_sectors() << 9 might not equal
blk_rq_bytes() if the data transfer length isn't multiple of 512), so
the above if can be removed. I just didn't want to make the
conversion (probably safe for scsi) before the actual unification.
Thanks.
--
tejun
next prev parent reply other threads:[~2009-05-03 1:34 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-29 9:13 [GIT PATCH] block,scsi,ide: unify sector and data_len Tejun Heo
2009-04-29 9:13 ` [PATCH 01/10] nbd: don't clear rq->sector and nr_sectors unnecessarily Tejun Heo
2009-04-29 9:13 ` [PATCH 02/10] ide-tape: don't initialize rq->sector for rw requests Tejun Heo
2009-04-30 6:14 ` Borislav Petkov
2009-04-29 9:13 ` [PATCH 03/10] block: add rq->resid_len Tejun Heo
2009-04-29 14:41 ` James Bottomley
2009-04-30 1:59 ` Tejun Heo
2009-04-30 6:45 ` Borislav Petkov
2009-04-30 7:19 ` Tejun Heo
2009-04-30 7:37 ` Borislav Petkov
2009-04-30 9:25 ` Tejun Heo
2009-04-29 9:13 ` [PATCH 04/10] block: implement blk_rq_pos/[cur_]sectors() and convert obvious ones Tejun Heo
2009-04-29 9:25 ` Geert Uytterhoeven
2009-04-29 10:16 ` Tejun Heo
2009-04-29 14:18 ` Stephen Rothwell
2009-04-29 14:49 ` Grant Likely
2009-04-29 9:13 ` [PATCH 05/10] block: convert to pos and nr_sectors accessors Tejun Heo
2009-04-29 9:40 ` Geert Uytterhoeven
2009-04-29 10:19 ` Tejun Heo
2009-04-29 14:48 ` Grant Likely
[not found] ` <1241037446.4516.2.camel@localhost.localdomain>
2009-04-30 17:30 ` Adrian McMenamin
2009-04-29 9:13 ` [PATCH 06/10] ide: convert to rq " Tejun Heo
2009-04-29 9:13 ` [PATCH 07/10] block: drop request->hard_* and *nr_sectors Tejun Heo
2009-04-30 13:46 ` Boaz Harrosh
2009-05-04 5:06 ` Tejun Heo
2009-04-29 9:13 ` [PATCH 08/10] block: cleanup rq->data_len usages Tejun Heo
2009-04-30 13:47 ` Boaz Harrosh
2009-04-30 15:35 ` James Bottomley
2009-05-01 18:27 ` Jens Axboe
2009-05-03 1:32 ` Tejun Heo [this message]
2009-05-03 13:51 ` Boaz Harrosh
2009-05-04 4:19 ` Tejun Heo
2009-05-03 1:36 ` Tejun Heo
2009-04-29 9:13 ` [PATCH 09/10] ide: " Tejun Heo
2009-04-29 9:13 ` [PATCH 10/10] block: hide request sector and data_len Tejun Heo
2009-04-30 16:07 ` [GIT PATCH] block,scsi,ide: unify " Bartlomiej Zolnierkiewicz
2009-05-01 18:29 ` Jens Axboe
2009-05-03 2:50 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49FCF423.7040609@kernel.org \
--to=tj@kernel.org \
--cc=Eric.Moore@lsi.com \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=Markus.Lidel@shadowconnect.com \
--cc=adrian@mcmen.demon.co.uk \
--cc=axboe@kernel.dk \
--cc=ballabio_dario@emc.com \
--cc=bharrosh@panasas.com \
--cc=bzolnier@gmail.com \
--cc=chirag.kantharia@hp.com \
--cc=davem@davemloft.net \
--cc=djwong@us.ibm.com \
--cc=dwmw2@infradead.org \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=grant.likely@secretlab.ca \
--cc=jeff@garzik.org \
--cc=jeremy@xensource.com \
--cc=jesper.juhl@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mike.miller@hp.com \
--cc=oakad@yahoo.com \
--cc=paul.clements@steeleye.com \
--cc=petkovbb@googlemail.com \
--cc=rusty@rustcorp.com.au \
--cc=schwidefsky@de.ibm.com \
--cc=sfr@canb.auug.org.au \
--cc=sshtylyov@ru.mvista.com \
--cc=stern@rowland.harvard.edu \
--cc=tim@cyberelk.net \
--cc=zaitcev@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).