From: Jens Axboe <axboe@suse.de>
To: "Peter T. Breuer" <ptb@it.uc3m.es>
Cc: linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: plugging in 2.4. Does it work?
Date: Wed, 21 Feb 2001 18:27:43 +0100 [thread overview]
Message-ID: <20010221182743.W1447@suse.de> (raw)
In-Reply-To: <200102211536.f1LFaWZ03985@oboe.it.uc3m.es>
In-Reply-To: <200102211536.f1LFaWZ03985@oboe.it.uc3m.es>; from ptb@it.uc3m.es on Wed, Feb 21, 2001 at 04:36:32PM +0100
On Wed, Feb 21 2001, Peter T. Breuer wrote:
> I'm particularly concerned about the error behaviour. How should I set
> up the end_request code in the case when the request is to be errored?
> Recall that my end_request code is presently like this:
>
> io_spin_lock
> while (end_that_request_first(req,!req->errors);
> // one more time for luck
> if (!end_that_request_first(req,!req->errors)
> end_that_request_last(req);
> io_spin_unlock
>
> and I get the impression from other driver code snippets that a single
> end_that_request_first is enough, but looking at the implementation it
> can't be. It looks from ll_rw_blk that I should walk the bh chain just
> the same in the case of error, no?
The implementation in ll_rw_blk.c (and other places) assumes that
a failed request just means the first chunk and it then makes sense
to just end i/o on that buffer and resetup the request for the next
buffer. If you want to completely scrap the request on an error, then
you'll just have to do that manually (ie loop end_that_request_first
and end_that_request_last at the end).
void my_end_request(struct request *rq, int uptodate)
{
while (end_that_request_first(rq, uptodate))
;
io_lock
end_that_request_last(rq);
io_unlock
}
And why you keep insisting on a duplicate end_that_request_first I don't
know?!
--
Jens Axboe
next prev parent reply other threads:[~2001-02-21 17:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-21 15:36 plugging in 2.4. Does it work? Peter T. Breuer
2001-02-21 17:27 ` Jens Axboe [this message]
2001-02-21 17:54 ` Peter T. Breuer
-- strict thread matches above, loose matches on Subject: below --
2001-02-20 22:41 Peter T. Breuer
2001-02-20 22:54 ` Jens Axboe
2001-02-20 23:27 ` Peter T. Breuer
2001-02-20 23:37 ` Jens Axboe
2001-02-20 23:48 ` Peter T. Breuer
2001-02-20 23:52 ` Jens Axboe
2001-02-20 22:58 ` Jens Axboe
2001-02-20 23:32 ` Peter T. Breuer
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=20010221182743.W1447@suse.de \
--to=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=ptb@it.uc3m.es \
/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