From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: David Miller <davem@davemloft.net>
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
petkovbb@gmail.com, htejun@gmail.com
Subject: Re: [patch 2/6] ide: fix ide_kill_rq() for special ide-{floppy,tape} driver requests
Date: Wed, 24 Jun 2009 12:09:53 +0200 [thread overview]
Message-ID: <200906241209.53891.bzolnier@gmail.com> (raw)
In-Reply-To: <20090623.234929.32348223.davem@davemloft.net>
On Wednesday 24 June 2009 08:49:29 David Miller wrote:
> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> Date: Tue, 23 Jun 2009 23:26:06 +0200
>
> > @@ -152,7 +152,7 @@ void ide_kill_rq(ide_drive_t *drive, str
> >
> > if ((media == ide_floppy || media == ide_tape) && drv_req) {
> > rq->errors = 0;
> > - ide_complete_rq(drive, 0, blk_rq_bytes(rq));
> > + ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
> > } else {
> > if (media == ide_tape)
> > rq->errors = IDE_DRV_ERROR_GENERAL;
>
> I've done some research and this logic of returning "0" appears to be
> intentional.
>
> It keeps the block layer from printing the "I/O error" kernel log
> message during completion of the request.
It would be pretty illogical behavior for driver to intentionally not
let user know about the failed requests..
> IDE tape as one example, seems to have it's own system of passing
> errors back up to the special command completion, via rq->errors
> and IDE_DRV_ERROR_GENERAL.
Please look at the patch/code:
rq->errors = 0;
- ide_complete_rq(drive, 0, blk_rq_bytes(rq));
+ ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
and notice rq->errors line.
> See idetape_queue_rw_tail() and ide_tape_callback() for example.
>
> IDE floppy has similar pieces of logic, and possibly similar desires
> wrt. emission of the block layer I/O error log message during
> special requests.
>
> When something sticks out like an eyesore (as this -EIO thing does)
> and seems to make no sense at all, there often is some obscure
> reason.
The obscure reasons is just the fact that both ide-floppy and ide-tape
had a they own duplicated/buggy request completion routines.
While they were being unified the whole bunch of similar class of bugs
were fixed so I agree that there may still be more issues to deal with
there.
next prev parent reply other threads:[~2009-06-24 10:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-23 21:26 [patch 2/6] ide: fix ide_kill_rq() for special ide-{floppy,tape} driver requests Bartlomiej Zolnierkiewicz
2009-06-23 23:16 ` David Miller
2009-06-24 0:49 ` Bartlomiej Zolnierkiewicz
2009-06-24 7:08 ` Borislav Petkov
2009-06-24 6:49 ` David Miller
2009-06-24 10:09 ` Bartlomiej Zolnierkiewicz [this message]
2009-06-24 10:39 ` David Miller
2009-06-24 17:44 ` Borislav Petkov
2009-06-25 10:09 ` David Miller
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=200906241209.53891.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=davem@davemloft.net \
--cc=htejun@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=petkovbb@gmail.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 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.