* [patch 3/6] ide: always kill the whole request on error
@ 2009-06-23 21:27 Bartlomiej Zolnierkiewicz
2009-06-23 23:19 ` David Miller
0 siblings, 1 reply; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2009-06-23 21:27 UTC (permalink / raw)
To: David Miller; +Cc: linux-ide, linux-kernel
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: [PATCH] ide: always kill the whole request on error
* Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_kill_rq()
and ide_floppy_do_request() for failed requests.
[ bugfix part ]
* Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_do_devset()
and ide_complete_drive_reset(). Then remove ide_rq_bytes().
[ cleanup part ]
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
'cleanup part' tested, limited testing with 'bugfix part'
(using simulated failures of disk fs requests)
drivers/ide/ide-devsets.c | 2 +-
drivers/ide/ide-eh.c | 2 +-
drivers/ide/ide-floppy.c | 2 +-
drivers/ide/ide-io.c | 14 ++------------
include/linux/ide.h | 1 -
5 files changed, 5 insertions(+), 16 deletions(-)
Index: b/drivers/ide/ide-devsets.c
===================================================================
--- a/drivers/ide/ide-devsets.c
+++ b/drivers/ide/ide-devsets.c
@@ -183,6 +183,6 @@ ide_startstop_t ide_do_devset(ide_drive_
err = setfunc(drive, *(int *)&rq->cmd[1]);
if (err)
rq->errors = err;
- ide_complete_rq(drive, err, ide_rq_bytes(rq));
+ ide_complete_rq(drive, err, blk_rq_bytes(rq));
return ide_stopped;
}
Index: b/drivers/ide/ide-eh.c
===================================================================
--- a/drivers/ide/ide-eh.c
+++ b/drivers/ide/ide-eh.c
@@ -149,7 +149,7 @@ static inline void ide_complete_drive_re
if (rq && blk_special_request(rq) && rq->cmd[0] == REQ_DRIVE_RESET) {
if (err <= 0 && rq->errors == 0)
rq->errors = -EIO;
- ide_complete_rq(drive, err ? err : 0, ide_rq_bytes(rq));
+ ide_complete_rq(drive, err ? err : 0, blk_rq_bytes(rq));
}
}
Index: b/drivers/ide/ide-floppy.c
===================================================================
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -293,7 +293,7 @@ out_end:
drive->failed_pc = NULL;
if (blk_fs_request(rq) == 0 && rq->errors == 0)
rq->errors = -EIO;
- ide_complete_rq(drive, -EIO, ide_rq_bytes(rq));
+ ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
return ide_stopped;
}
Index: b/drivers/ide/ide-io.c
===================================================================
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -112,16 +112,6 @@ void ide_complete_cmd(ide_drive_t *drive
}
}
-/* obsolete, blk_rq_bytes() should be used instead */
-unsigned int ide_rq_bytes(struct request *rq)
-{
- if (blk_pc_request(rq))
- return blk_rq_bytes(rq);
- else
- return blk_rq_cur_sectors(rq) << 9;
-}
-EXPORT_SYMBOL_GPL(ide_rq_bytes);
-
int ide_complete_rq(ide_drive_t *drive, int error, unsigned int nr_bytes)
{
ide_hwif_t *hwif = drive->hwif;
@@ -152,14 +142,14 @@ 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, -EIO, blk_rq_bytes(rq));
} else {
if (media == ide_tape)
rq->errors = IDE_DRV_ERROR_GENERAL;
else if (blk_fs_request(rq) == 0 && rq->errors == 0)
rq->errors = -EIO;
- ide_complete_rq(drive, -EIO, ide_rq_bytes(rq));
}
+
+ ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
}
static void ide_tf_set_specify_cmd(ide_drive_t *drive, struct ide_taskfile *tf)
Index: b/include/linux/ide.h
===================================================================
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1062,7 +1062,6 @@ int generic_ide_ioctl(ide_drive_t *, str
extern int ide_vlb_clk;
extern int ide_pci_clk;
-unsigned int ide_rq_bytes(struct request *);
int ide_end_rq(ide_drive_t *, struct request *, int, unsigned int);
void ide_kill_rq(ide_drive_t *, struct request *);
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-23 21:27 [patch 3/6] ide: always kill the whole request on error Bartlomiej Zolnierkiewicz
@ 2009-06-23 23:19 ` David Miller
2009-06-23 23:37 ` Joe Perches
2009-06-24 0:49 ` Bartlomiej Zolnierkiewicz
0 siblings, 2 replies; 9+ messages in thread
From: David Miller @ 2009-06-23 23:19 UTC (permalink / raw)
To: bzolnier; +Cc: linux-ide, linux-kernel, petkovbb, htejun
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Tue, 23 Jun 2009 23:27:27 +0200
> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> Subject: [PATCH] ide: always kill the whole request on error
>
> * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_kill_rq()
> and ide_floppy_do_request() for failed requests.
> [ bugfix part ]
>
> * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_do_devset()
> and ide_complete_drive_reset(). Then remove ide_rq_bytes().
> [ cleanup part ]
>
> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> ---
> 'cleanup part' tested, limited testing with 'bugfix part'
> (using simulated failures of disk fs requests)
Considering this alongsize patch #2, it even more begs the
question as to why special requests on floppy and tape were
handled differently. And that 'error <= 0' test, strange.
I have a hard time believing all of these differences are there for no
reason at all. :-)
> drivers/ide/ide-devsets.c | 2 +-
> drivers/ide/ide-eh.c | 2 +-
> drivers/ide/ide-floppy.c | 2 +-
> drivers/ide/ide-io.c | 14 ++------------
> include/linux/ide.h | 1 -
> 5 files changed, 5 insertions(+), 16 deletions(-)
>
> Index: b/drivers/ide/ide-devsets.c
> ===================================================================
> --- a/drivers/ide/ide-devsets.c
> +++ b/drivers/ide/ide-devsets.c
> @@ -183,6 +183,6 @@ ide_startstop_t ide_do_devset(ide_drive_
> err = setfunc(drive, *(int *)&rq->cmd[1]);
> if (err)
> rq->errors = err;
> - ide_complete_rq(drive, err, ide_rq_bytes(rq));
> + ide_complete_rq(drive, err, blk_rq_bytes(rq));
> return ide_stopped;
> }
> Index: b/drivers/ide/ide-eh.c
> ===================================================================
> --- a/drivers/ide/ide-eh.c
> +++ b/drivers/ide/ide-eh.c
> @@ -149,7 +149,7 @@ static inline void ide_complete_drive_re
> if (rq && blk_special_request(rq) && rq->cmd[0] == REQ_DRIVE_RESET) {
> if (err <= 0 && rq->errors == 0)
> rq->errors = -EIO;
> - ide_complete_rq(drive, err ? err : 0, ide_rq_bytes(rq));
> + ide_complete_rq(drive, err ? err : 0, blk_rq_bytes(rq));
> }
> }
>
> Index: b/drivers/ide/ide-floppy.c
> ===================================================================
> --- a/drivers/ide/ide-floppy.c
> +++ b/drivers/ide/ide-floppy.c
> @@ -293,7 +293,7 @@ out_end:
> drive->failed_pc = NULL;
> if (blk_fs_request(rq) == 0 && rq->errors == 0)
> rq->errors = -EIO;
> - ide_complete_rq(drive, -EIO, ide_rq_bytes(rq));
> + ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
> return ide_stopped;
> }
>
> Index: b/drivers/ide/ide-io.c
> ===================================================================
> --- a/drivers/ide/ide-io.c
> +++ b/drivers/ide/ide-io.c
> @@ -112,16 +112,6 @@ void ide_complete_cmd(ide_drive_t *drive
> }
> }
>
> -/* obsolete, blk_rq_bytes() should be used instead */
> -unsigned int ide_rq_bytes(struct request *rq)
> -{
> - if (blk_pc_request(rq))
> - return blk_rq_bytes(rq);
> - else
> - return blk_rq_cur_sectors(rq) << 9;
> -}
> -EXPORT_SYMBOL_GPL(ide_rq_bytes);
> -
> int ide_complete_rq(ide_drive_t *drive, int error, unsigned int nr_bytes)
> {
> ide_hwif_t *hwif = drive->hwif;
> @@ -152,14 +142,14 @@ 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, -EIO, blk_rq_bytes(rq));
> } else {
> if (media == ide_tape)
> rq->errors = IDE_DRV_ERROR_GENERAL;
> else if (blk_fs_request(rq) == 0 && rq->errors == 0)
> rq->errors = -EIO;
> - ide_complete_rq(drive, -EIO, ide_rq_bytes(rq));
> }
> +
> + ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
> }
>
> static void ide_tf_set_specify_cmd(ide_drive_t *drive, struct ide_taskfile *tf)
> Index: b/include/linux/ide.h
> ===================================================================
> --- a/include/linux/ide.h
> +++ b/include/linux/ide.h
> @@ -1062,7 +1062,6 @@ int generic_ide_ioctl(ide_drive_t *, str
> extern int ide_vlb_clk;
> extern int ide_pci_clk;
>
> -unsigned int ide_rq_bytes(struct request *);
> int ide_end_rq(ide_drive_t *, struct request *, int, unsigned int);
> void ide_kill_rq(ide_drive_t *, struct request *);
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-23 23:19 ` David Miller
@ 2009-06-23 23:37 ` Joe Perches
2009-06-23 23:39 ` David Miller
2009-06-24 0:49 ` Bartlomiej Zolnierkiewicz
1 sibling, 1 reply; 9+ messages in thread
From: Joe Perches @ 2009-06-23 23:37 UTC (permalink / raw)
To: David Miller; +Cc: bzolnier, linux-ide, linux-kernel, petkovbb, htejun
On Tue, 2009-06-23 at 16:19 -0700, David Miller wrote:
> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> Date: Tue, 23 Jun 2009 23:27:27 +0200
> > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> > Subject: [PATCH] ide: always kill the whole request on error
> > --- a/drivers/ide/ide-eh.c
> > +++ b/drivers/ide/ide-eh.c
> > @@ -149,7 +149,7 @@ static inline void ide_complete_drive_re
> > if (rq && blk_special_request(rq) && rq->cmd[0] == REQ_DRIVE_RESET) {
> > if (err <= 0 && rq->errors == 0)
> > rq->errors = -EIO;
> > - ide_complete_rq(drive, err ? err : 0, ide_rq_bytes(rq));
> > + ide_complete_rq(drive, err ? err : 0, blk_rq_bytes(rq));
Doesn't that "err ? err : 0" look odd?
Why not just err?
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-23 23:37 ` Joe Perches
@ 2009-06-23 23:39 ` David Miller
0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2009-06-23 23:39 UTC (permalink / raw)
To: joe; +Cc: bzolnier, linux-ide, linux-kernel, petkovbb, htejun
From: Joe Perches <joe@perches.com>
Date: Tue, 23 Jun 2009 16:37:54 -0700
> On Tue, 2009-06-23 at 16:19 -0700, David Miller wrote:
>> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>> Date: Tue, 23 Jun 2009 23:27:27 +0200
>> > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>> > Subject: [PATCH] ide: always kill the whole request on error
>> > --- a/drivers/ide/ide-eh.c
>> > +++ b/drivers/ide/ide-eh.c
>> > @@ -149,7 +149,7 @@ static inline void ide_complete_drive_re
>> > if (rq && blk_special_request(rq) && rq->cmd[0] == REQ_DRIVE_RESET) {
>> > if (err <= 0 && rq->errors == 0)
>> > rq->errors = -EIO;
>> > - ide_complete_rq(drive, err ? err : 0, ide_rq_bytes(rq));
>> > + ide_complete_rq(drive, err ? err : 0, blk_rq_bytes(rq));
>
> Doesn't that "err ? err : 0" look odd?
> Why not just err?
These functions are full of surprises :-)
Yes, plain 'err' should be absolutely equivalent to what's
there right now.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-23 23:19 ` David Miller
2009-06-23 23:37 ` Joe Perches
@ 2009-06-24 0:49 ` Bartlomiej Zolnierkiewicz
2009-06-24 4:37 ` David Miller
2009-06-24 6:49 ` David Miller
1 sibling, 2 replies; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2009-06-24 0:49 UTC (permalink / raw)
To: David Miller; +Cc: linux-ide, linux-kernel, petkovbb, htejun
On Wednesday 24 June 2009 01:19:04 David Miller wrote:
> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> Date: Tue, 23 Jun 2009 23:27:27 +0200
>
> > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> > Subject: [PATCH] ide: always kill the whole request on error
> >
> > * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_kill_rq()
> > and ide_floppy_do_request() for failed requests.
> > [ bugfix part ]
> >
> > * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_do_devset()
> > and ide_complete_drive_reset(). Then remove ide_rq_bytes().
> > [ cleanup part ]
> >
> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> > ---
> > 'cleanup part' tested, limited testing with 'bugfix part'
> > (using simulated failures of disk fs requests)
>
> Considering this alongsize patch #2, it even more begs the
> question as to why special requests on floppy and tape were
> handled differently. And that 'error <= 0' test, strange.
TBH I fail to see how it relates to changes present in _this_ patch
as no change in _this_ patch affects special tape/floppy requests..
> I have a hard time believing all of these differences are there for no
> reason at all. :-)
Lets keep personal believes aside in the technical discussions. ;)
> > drivers/ide/ide-devsets.c | 2 +-
> > drivers/ide/ide-eh.c | 2 +-
> > drivers/ide/ide-floppy.c | 2 +-
> > drivers/ide/ide-io.c | 14 ++------------
> > include/linux/ide.h | 1 -
> > 5 files changed, 5 insertions(+), 16 deletions(-)
> >
> > Index: b/drivers/ide/ide-devsets.c
> > ===================================================================
> > --- a/drivers/ide/ide-devsets.c
> > +++ b/drivers/ide/ide-devsets.c
> > @@ -183,6 +183,6 @@ ide_startstop_t ide_do_devset(ide_drive_
> > err = setfunc(drive, *(int *)&rq->cmd[1]);
> > if (err)
> > rq->errors = err;
> > - ide_complete_rq(drive, err, ide_rq_bytes(rq));
> > + ide_complete_rq(drive, err, blk_rq_bytes(rq));
> > return ide_stopped;
> > }
> > Index: b/drivers/ide/ide-eh.c
> > ===================================================================
> > --- a/drivers/ide/ide-eh.c
> > +++ b/drivers/ide/ide-eh.c
> > @@ -149,7 +149,7 @@ static inline void ide_complete_drive_re
> > if (rq && blk_special_request(rq) && rq->cmd[0] == REQ_DRIVE_RESET) {
> > if (err <= 0 && rq->errors == 0)
> > rq->errors = -EIO;
> > - ide_complete_rq(drive, err ? err : 0, ide_rq_bytes(rq));
> > + ide_complete_rq(drive, err ? err : 0, blk_rq_bytes(rq));
> > }
> > }
> >
> > Index: b/drivers/ide/ide-floppy.c
> > ===================================================================
> > --- a/drivers/ide/ide-floppy.c
> > +++ b/drivers/ide/ide-floppy.c
> > @@ -293,7 +293,7 @@ out_end:
> > drive->failed_pc = NULL;
> > if (blk_fs_request(rq) == 0 && rq->errors == 0)
> > rq->errors = -EIO;
> > - ide_complete_rq(drive, -EIO, ide_rq_bytes(rq));
> > + ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
> > return ide_stopped;
> > }
> >
> > Index: b/drivers/ide/ide-io.c
> > ===================================================================
> > --- a/drivers/ide/ide-io.c
> > +++ b/drivers/ide/ide-io.c
> > @@ -112,16 +112,6 @@ void ide_complete_cmd(ide_drive_t *drive
> > }
> > }
> >
> > -/* obsolete, blk_rq_bytes() should be used instead */
> > -unsigned int ide_rq_bytes(struct request *rq)
> > -{
> > - if (blk_pc_request(rq))
> > - return blk_rq_bytes(rq);
> > - else
> > - return blk_rq_cur_sectors(rq) << 9;
> > -}
> > -EXPORT_SYMBOL_GPL(ide_rq_bytes);
> > -
> > int ide_complete_rq(ide_drive_t *drive, int error, unsigned int nr_bytes)
> > {
> > ide_hwif_t *hwif = drive->hwif;
> > @@ -152,14 +142,14 @@ 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, -EIO, blk_rq_bytes(rq));
> > } else {
> > if (media == ide_tape)
> > rq->errors = IDE_DRV_ERROR_GENERAL;
> > else if (blk_fs_request(rq) == 0 && rq->errors == 0)
> > rq->errors = -EIO;
> > - ide_complete_rq(drive, -EIO, ide_rq_bytes(rq));
> > }
> > +
> > + ide_complete_rq(drive, -EIO, blk_rq_bytes(rq));
> > }
> >
> > static void ide_tf_set_specify_cmd(ide_drive_t *drive, struct ide_taskfile *tf)
> > Index: b/include/linux/ide.h
> > ===================================================================
> > --- a/include/linux/ide.h
> > +++ b/include/linux/ide.h
> > @@ -1062,7 +1062,6 @@ int generic_ide_ioctl(ide_drive_t *, str
> > extern int ide_vlb_clk;
> > extern int ide_pci_clk;
> >
> > -unsigned int ide_rq_bytes(struct request *);
> > int ide_end_rq(ide_drive_t *, struct request *, int, unsigned int);
> > void ide_kill_rq(ide_drive_t *, struct request *);
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-24 0:49 ` Bartlomiej Zolnierkiewicz
@ 2009-06-24 4:37 ` David Miller
2009-06-24 6:49 ` David Miller
1 sibling, 0 replies; 9+ messages in thread
From: David Miller @ 2009-06-24 4:37 UTC (permalink / raw)
To: bzolnier; +Cc: linux-ide, linux-kernel, petkovbb, htejun
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Wed, 24 Jun 2009 02:49:32 +0200
> On Wednesday 24 June 2009 01:19:04 David Miller wrote:
>> I have a hard time believing all of these differences are there for no
>> reason at all. :-)
>
> Lets keep personal believes aside in the technical discussions. ;)
Sure, but every time I've ignored such possibility I've regretted
it after a long debugging session later, that's all :-)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-24 0:49 ` Bartlomiej Zolnierkiewicz
2009-06-24 4:37 ` David Miller
@ 2009-06-24 6:49 ` David Miller
2009-06-24 9:38 ` Bartlomiej Zolnierkiewicz
1 sibling, 1 reply; 9+ messages in thread
From: David Miller @ 2009-06-24 6:49 UTC (permalink / raw)
To: bzolnier; +Cc: linux-ide, linux-kernel, petkovbb, htejun
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Wed, 24 Jun 2009 02:49:32 +0200
> On Wednesday 24 June 2009 01:19:04 David Miller wrote:
>> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>> Date: Tue, 23 Jun 2009 23:27:27 +0200
>>
>> > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>> > Subject: [PATCH] ide: always kill the whole request on error
>> >
>> > * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_kill_rq()
>> > and ide_floppy_do_request() for failed requests.
>> > [ bugfix part ]
>> >
>> > * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_do_devset()
>> > and ide_complete_drive_reset(). Then remove ide_rq_bytes().
>> > [ cleanup part ]
>> >
>> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>> > ---
>> > 'cleanup part' tested, limited testing with 'bugfix part'
>> > (using simulated failures of disk fs requests)
>>
>> Considering this alongsize patch #2, it even more begs the
>> question as to why special requests on floppy and tape were
>> handled differently. And that 'error <= 0' test, strange.
>
> TBH I fail to see how it relates to changes present in _this_ patch
> as no change in _this_ patch affects special tape/floppy requests..
The previous patch is a prerequesite for this one. So we should
discuss them as a whole. Because if we can't remove the "ide/floppy
RQ error 0 instead of -EIO" bit, then we don't make these further
consolidations either.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-24 6:49 ` David Miller
@ 2009-06-24 9:38 ` Bartlomiej Zolnierkiewicz
2009-06-24 9:56 ` David Miller
0 siblings, 1 reply; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2009-06-24 9:38 UTC (permalink / raw)
To: David Miller; +Cc: linux-ide, linux-kernel, petkovbb, htejun
On Wednesday 24 June 2009 08:49:48 David Miller wrote:
> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> Date: Wed, 24 Jun 2009 02:49:32 +0200
>
> > On Wednesday 24 June 2009 01:19:04 David Miller wrote:
> >> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> >> Date: Tue, 23 Jun 2009 23:27:27 +0200
> >>
> >> > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> >> > Subject: [PATCH] ide: always kill the whole request on error
> >> >
> >> > * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_kill_rq()
> >> > and ide_floppy_do_request() for failed requests.
> >> > [ bugfix part ]
> >> >
> >> > * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_do_devset()
> >> > and ide_complete_drive_reset(). Then remove ide_rq_bytes().
> >> > [ cleanup part ]
> >> >
> >> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> >> > ---
> >> > 'cleanup part' tested, limited testing with 'bugfix part'
> >> > (using simulated failures of disk fs requests)
> >>
> >> Considering this alongsize patch #2, it even more begs the
> >> question as to why special requests on floppy and tape were
> >> handled differently. And that 'error <= 0' test, strange.
> >
> > TBH I fail to see how it relates to changes present in _this_ patch
> > as no change in _this_ patch affects special tape/floppy requests..
>
> The previous patch is a prerequesite for this one. So we should
> discuss them as a whole. Because if we can't remove the "ide/floppy
> RQ error 0 instead of -EIO" bit, then we don't make these further
> consolidations either.
Untrue, we can easily redo the patch #3 to not be dependent on patch #2.
Do you prefer such version instead?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch 3/6] ide: always kill the whole request on error
2009-06-24 9:38 ` Bartlomiej Zolnierkiewicz
@ 2009-06-24 9:56 ` David Miller
0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2009-06-24 9:56 UTC (permalink / raw)
To: bzolnier; +Cc: linux-ide, linux-kernel, petkovbb, htejun
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Wed, 24 Jun 2009 11:38:00 +0200
> On Wednesday 24 June 2009 08:49:48 David Miller wrote:
>> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>> Date: Wed, 24 Jun 2009 02:49:32 +0200
>>
>> The previous patch is a prerequesite for this one. So we should
>> discuss them as a whole. Because if we can't remove the "ide/floppy
>> RQ error 0 instead of -EIO" bit, then we don't make these further
>> consolidations either.
>
> Untrue, we can easily redo the patch #3 to not be dependent on patch #2.
Good point.
> Do you prefer such version instead?
Let's wait until we come to some conclusion about patch #2.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-06-24 9:56 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-23 21:27 [patch 3/6] ide: always kill the whole request on error Bartlomiej Zolnierkiewicz
2009-06-23 23:19 ` David Miller
2009-06-23 23:37 ` Joe Perches
2009-06-23 23:39 ` David Miller
2009-06-24 0:49 ` Bartlomiej Zolnierkiewicz
2009-06-24 4:37 ` David Miller
2009-06-24 6:49 ` David Miller
2009-06-24 9:38 ` Bartlomiej Zolnierkiewicz
2009-06-24 9:56 ` David Miller
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).