From: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
To: Mike Christie <michaelc@cs.wisc.edu>
Cc: mchristi@redhat.com, linux-kernel@vger.kernel.org,
agk@redhat.com, jens.axboe@oracle.com, dm-devel@redhat.com,
j-nomura@ce.jp.nec.com, k-ueda@ct.jp.nec.com
Subject: Re: [dm-devel] Re: [RFC PATCH 2/8] rqbased-dm: add block layer hook
Date: Fri, 22 Dec 2006 14:55:32 -0500 (EST) [thread overview]
Message-ID: <20061222.145532.104028283.k-ueda@ct.jp.nec.com> (raw)
In-Reply-To: <458B86D4.3000107@cs.wisc.edu>
Hi Mike,
On Fri, 22 Dec 2006 01:18:44 -0600, Mike Christie <michaelc@cs.wisc.edu> wrote:
> > In addition to the suggested approach, what do you think about
> > adding a new flag to req->cmd_flags which lets the end_io() handler
> > not to return bio to upper layer?
> > It will be useful for multipathing and can be done even within
> > the current __end_that_request_first().
> > For example,
> >
> > static int __end_that_request_first()
> > {
> > .....
> > error = 0;
> > if (end_io_error(uptodate))
> > error = !uptodate ? -EIO : uptodate;
> > .....
> > if (error && (req->cmd_flags & "NEW_FLAG"))
> > return 0; /* Tell the driver to call end_that_request_last() */
> >
> > total_types = bio_nbytes = 0;
> > while ((bio = req->bio) != NULL) {
> > ..... /* process of finishing bios */
> > }
> > .....
> > }
> >
>
> Who would call end_that_request_first with the new flag set? The scsi
> layer or multipath layer?
Multipath layer sets the new flag.
SCSI layer of an underlying device calls __end_that_request_first()
for a cloned request. And original bios which were issued to a dm
device will be completed through the cloned request when no error
occurs on the clone. When an error occurs, the completion process of
the bios are skipped.
Thanks,
Kiyoshi Ueda
next prev parent reply other threads:[~2006-12-22 19:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-19 22:11 Kiyoshi Ueda
2006-12-20 13:49 ` Jens Axboe
2006-12-20 21:52 ` Kiyoshi Ueda
2006-12-21 7:49 ` Jens Axboe
2006-12-21 22:22 ` Kiyoshi Ueda
2006-12-21 22:56 ` business1
2006-12-22 7:18 ` [dm-devel] " Mike Christie
2006-12-22 19:55 ` Kiyoshi Ueda [this message]
2006-12-21 23:00 ` business1
2006-12-21 22:56 ` business1
2006-12-21 22:53 ` business1
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=20061222.145532.104028283.k-ueda@ct.jp.nec.com \
--to=k-ueda@ct.jp.nec.com \
--cc=agk@redhat.com \
--cc=dm-devel@redhat.com \
--cc=j-nomura@ce.jp.nec.com \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchristi@redhat.com \
--cc=michaelc@cs.wisc.edu \
/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
all inboxes | Powered by JetHome®