From: Jens Axboe <axboe@suse.de>
To: "Peter T. Breuer" <ptb@it.uc3m.es>
Cc: linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: end_request error procedure in 2.5?
Date: Mon, 16 Sep 2002 15:54:44 +0200 [thread overview]
Message-ID: <20020916135444.GK12364@suse.de> (raw)
In-Reply-To: <200209161349.g8GDngd06901@oboe.it.uc3m.es>
On Mon, Sep 16 2002, Peter T. Breuer wrote:
> Can someone tell me why this block end_request routine works fine with a
> request that isn't errored, but locks the machine a milisecond or two
> later if the request is marked for erroring?
>
> call as
>
> end_request( req, (req->errors == 0) ? 1 : 0 );
> ..
>
> static void end_request(struct request *req, int uptodate) {
> struct bio *bio;
> while ((bio = req->bio) != NULL) {
> blk_finished_io(bio_sectors(bio));
> req->bio = bio->bi_next;
> bio->bi_next = NULL;
> bio_endio(bio, uptodate);
> }
> blk_put_request(req);
> }
>
>
> It works fine except on error. Kernel 2.5.31. I understand that
> put_request adds the request back to a free list (if gotten from there
> via get_request). The request is ordinary, except out of range ...
> it's produced by an e2fsck of the device when the device itself is
> unformatted, and the out of range request gets passed to the driver and
> is errored there, and "kapow" ..
The error is most likely in the driver calling end_that_request_first(),
not the function itself. Maybe you can try to do at least some
debugging, I hope you are not expecting anyone to be able to help you
from the above report.
--
Jens Axboe
next prev parent reply other threads:[~2002-09-16 13:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-16 13:49 end_request error procedure in 2.5? Peter T. Breuer
2002-09-16 13:54 ` Jens Axboe [this message]
2002-09-16 14:19 ` Peter T. Breuer
2002-09-16 14:55 ` Jens Axboe
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=20020916135444.GK12364@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.