From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Cc: jens.axboe@oracle.com, bharrosh@panasas.com,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-ide@vger.kernel.org, dm-devel@redhat.com,
j-nomura@ce.jp.nec.com
Subject: Re: [PATCH 24/28] blk_end_request: changing ide normal caller (take 3)
Date: Tue, 4 Dec 2007 14:47:00 +0100 [thread overview]
Message-ID: <200712041447.00238.bzolnier@gmail.com> (raw)
In-Reply-To: <20071203.181252.58460084.k-ueda@ct.jp.nec.com>
On Tuesday 04 December 2007, Kiyoshi Ueda wrote:
> Hi Bartlomiej,
>
> On Sat, 1 Dec 2007 23:53:05 +0100, Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:
> > On Saturday 01 December 2007, Kiyoshi Ueda wrote:
> > > This patch converts "normal" parts of ide to use blk_end_request().
> > >
> > > Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
> > > Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
> > > ---
> > > drivers/ide/ide-cd.c | 6 +++---
> > > drivers/ide/ide-io.c | 17 ++++++-----------
> > > 2 files changed, 9 insertions(+), 14 deletions(-)
> >
> > [...]
> >
> > > Index: 2.6.24-rc3-mm2/drivers/ide/ide-io.c
> > > ===================================================================
> > > --- 2.6.24-rc3-mm2.orig/drivers/ide/ide-io.c
> > > +++ 2.6.24-rc3-mm2/drivers/ide/ide-io.c
> > > @@ -78,14 +78,9 @@ static int __ide_end_request(ide_drive_t
> > > ide_dma_on(drive);
> > > }
> > >
> > > - if (!end_that_request_chunk(rq, uptodate, nr_bytes)) {
> > > - add_disk_randomness(rq->rq_disk);
> > > - if (dequeue) {
> > > - if (!list_empty(&rq->queuelist))
> > > - blkdev_dequeue_request(rq);
> > > + if (!__blk_end_request(rq, uptodate, nr_bytes)) {
> > > + if (dequeue)
> > > HWGROUP(drive)->rq = NULL;
> > > - }
> > > - end_that_request_last(rq, uptodate);
> > > ret = 0;
> > > }
> >
> > Hmmm, this seems to change the old behavior (the request should
> > be dequeued from the queue only if 'dequeue' variable is set)
> > and AFAIR some error handling code (in ide-cd?) depends on the
> > old behavior so please revisit this patch.
>
> blk_end_request() takes care of the dequeue like below,
> so I think no problem. (Please see PATCH 01)
>
> > + /* rq->queuelist of dequeued request should be list_empty() */
> > + if (!list_empty(&rq->queuelist))
> > + blkdev_dequeue_request(rq);
>
> In the case of ide-cd,
> o 'dequeue' variable is 1 only when the request is still linked
> to the queue (i.e. rq->queuelist is not empty)
> o 'dequeue' variable is 0 only when the request has already been
> removed from the queue (i.e. rq->queuelist is empty)
> So blk_end_request() can handle it correctly.
It would be helpful to add the above explanation to a patch description.
> If there are any drivers which don't want dequeue the queued request,
> the code above would not work.
> But, as far as I investigated, I have never seen such a requirement
> in device drivers.
>
> Do you think that ide may still gets a problem for the 'dequeue'?
Everything seems to be fine now.
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
next prev parent reply other threads:[~2007-12-04 13:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-30 23:33 [PATCH 24/28] blk_end_request: changing ide normal caller (take 3) Kiyoshi Ueda
2007-12-01 22:53 ` Bartlomiej Zolnierkiewicz
2007-12-03 23:12 ` Kiyoshi Ueda
2007-12-04 13:47 ` Bartlomiej Zolnierkiewicz [this message]
2007-12-04 18:04 ` Kiyoshi Ueda
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=200712041447.00238.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=bharrosh@panasas.com \
--cc=dm-devel@redhat.com \
--cc=j-nomura@ce.jp.nec.com \
--cc=jens.axboe@oracle.com \
--cc=k-ueda@ct.jp.nec.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/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).