Hello, Jeff.
On Wed, Aug 31, 2005 at 10:22:17PM -0400, Jeff Garzik wrote:
> Tejun Heo wrote:
> > IMHO, it's a good idea to maintain one qc to one ATA/ATAPI command
> >mapping as long as possible. And, in the suggested framework, it's
> >guaranteed that no o
Luben Tuikov wrote:
On 08/30/05 06:26, Tejun Heo wrote:
Albert Lee wrote:
4. Corresponding scmd's result code is set to
SAM_STAT_CHECK_CONDITION and qc->scsidone() callback is called
directly. As we haven't filled sense data,
scsi_determine_disposition() will return FAILE
Hi, Luben.
Luben Tuikov wrote:
On 08/29/05 05:14, Tejun Heo wrote:
Both all the list-heads need to be cleared, otherwise there may be list
corruption next time the element is added to the list_head.
scmd->eh_entry is never used as list head. It's always used as list
en
Albert Lee wrote:
4. Corresponding scmd's result code is set to
SAM_STAT_CHECK_CONDITION and qc->scsidone() callback is called
directly. As we haven't filled sense data,
scsi_determine_disposition() will return FAILED and SCSI EH will
be scheduled. Note that as we directly call qc-
Hi, Jeff.
Jeff Garzik wrote:
Tejun Heo wrote:
Both all the list-heads need to be cleared, otherwise there may be
list corruption next time the element is added to the list_head.
scmd->eh_entry is never used as list head. It's always used as list
entry. So, technically, it n
Hi, Jeff.
Jeff Garzik wrote:
Tejun Heo wrote:
Hello, fellow SCSI/ATA developers.
This is the first draft of SCSI EH document. This document tries to
describe how SCSI EH works and what choirs should be done to maintain
SCSI midlayer integrity. It's intended that this document c
Hello, fellow SCSI/ATA developers.
This is the first draft of SCSI EH document. This document tries to
describe how SCSI EH works and what choirs should be done to maintain
SCSI midlayer integrity. It's intended that this document can be used
as reference for implementing either fine-grained E
Hi, Jeff.
Jeff Garzik wrote:
Tejun,
In an email I cannot find anymore, you asked why I was interested in
converting libata to use the fine-grained EH hooks in the SCSI layer,
rather than continued with the current ->eh_strategy_handler() method.
Several reasons:
1) The fine-grained hook
I forgot to restore sg->length on setup failure. This patch adds it.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
Index: work/drivers/scsi/libata-core.c
===
--- work.orig/drivers/scsi/libata-core.c2005-08
drivers is using ata_for_each_sg() to iterate
over sg table. This patch also renames qc->sg to qc->__sg to signify
that it cannot be iterated directly.
This patch is a rewrite of Jeff's implementation.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
Index: work/dr
sata_sx4 directly references sg->length to calculate total_len in
pdc20621_dma_prep(). This is incorrect as dma_map_sg() could have
merged multiple sg's into one and, in such case, sg->length doesn't
reflect true size of the entry. This patch makes it use
sg_dma_len(sg).
Sign
On Fri, Jul 29, 2005 at 01:06:54AM -0400, Jeff Garzik wrote:
>
> So, one thing that's terribly ugly about SATA ATAPI is that we need to
> pad DMA transfers to the next 32-bit boundary, if the length is not
> evenly divisible by 4.
>
> Messing with the scatterlist to accomplish this is terribly ug
On Fri, Aug 05, 2005 at 05:59:06PM +0200, Jens Axboe wrote:
> On Fri, Aug 05 2005, Andrew Vasquez wrote:
> > On Fri, 05 Aug 2005, Tejun Heo wrote:
> >
> > > > Oops, forget about the previous mail. Above patch make it into the
> > > > tree and it's
On Fri, Aug 05, 2005 at 11:32:07AM -0500, James Bottomley wrote:
> On Fri, 2005-08-05 at 21:33 +0900, Tejun Heo wrote:
> > Here's the fix. It basically revives bqt->real_max_depth sans
> > allocation optimization in init_tag_map. I've also added a comment
> &
> Oops, forget about the previous mail. Above patch make it into the
> tree and it's the source of the problem. My git HEAD was pointing at
> the latest update but I haven't updated my cache, so I was looking at
> the old source tree. My apologies for the hassle and the bug.
>
> Original c
Tejun Heo wrote:
Hello, Andrew. Hello, Jens.
On Fri, Aug 05, 2005 at 09:57:52AM +0200, Jens Axboe wrote:
On Thu, Aug 04 2005, Andrew Vasquez wrote:
All,
While adding support for the new change_queue_depth/type() callbacks,
static int
qla2x00_change_queue_depth(struct
Hello, Andrew. Hello, Jens.
On Fri, Aug 05, 2005 at 09:57:52AM +0200, Jens Axboe wrote:
> On Thu, Aug 04 2005, Andrew Vasquez wrote:
> > All,
> >
> > While adding support for the new change_queue_depth/type() callbacks,
> >
> > static int
> > qla2x00_change_queue_depth(struct scsi_devi
Hi, Lukasz.
Lukasz Kosewski wrote:
Hello all,
I'm currently working on a project to get a true disk-hotplug subsystem
working in libata, experimenting with Promise SATA150 Tx2 Plus and
SATAII150 Tx2 Plus controllers.
I am very near a 'beta' release of my patches to this mailing list,
howe
Hello, James.
This is the modified patch with the comment (slightly modified).
With this patch, the next patch in this patchset complains about line
offset but it's okay.
Thanks.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
Index: scsi-reqfn-export/drivers/scsi
James Bottomley wrote:
> On Thu, 2005-04-21 at 09:20 +0900, Tejun Heo wrote:
>
>> Hello, James.
>>
>>James Bottomley wrote:
>>
>>>On Wed, 2005-04-20 at 08:15 +0900, Tejun Heo wrote:
>>>
>>>
>>>>-* Insert this command at th
Hello, James.
James Bottomley wrote:
On Wed, 2005-04-20 at 08:15 +0900, Tejun Heo wrote:
- * Insert this command at the head of the queue for it's device.
- * It will go before all other commands that are already in the queue.
- *
- * NOTE: there is magic here about the way the que
Hello, guys.
Jens Axboe wrote:
On Wed, Apr 20 2005, Nick Piggin wrote:
Jens Axboe wrote:
On Wed, Apr 20 2005, Nick Piggin wrote:
I guess this could be one use of 'reordering' after a requeue.
Yeah, or perhaps the io scheduler might determine that a request has
higher prio than a requeued one. I
Nick Piggin wrote:
> On Wed, 2005-04-20 at 16:40 +0900, Tejun Heo wrote:
>
>> Hello, Jens.
>>
>>On Wed, Apr 20, 2005 at 08:30:10AM +0200, Jens Axboe wrote:
>>
>>>Do it on requeue, please - not on the initial spotting of the request.
>>
>>
in
blk_requeue_request().
Other patches apply cleanly with this patch or the original one and
the end result is the same, so take your pick. :-)
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
Index: scsi-reqfn-export/drivers/block/e
Jens Axboe wrote:
On Wed, Apr 20 2005, Tejun Heo wrote:
01_scsi_blk_make_started_requests_ordered.patch
Reordering already started requests is without any real
benefit and causes problems if the request has its
driver-specific resources allocated (as in SCSI). This patch
blem. The only affected driver other
than SCSI is i2o_block.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
elevator.c |8
1 files changed, 4 insertions(+), 4 deletions(-)
Index: scsi-reqfn-export/dri
.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c |4 +---
1 files changed, 1 insertion(+), 3 deletions(-)
Index: scsi-reqfn-export/drivers/scsi/scsi_lib.c
===
--- scsi-reqfn-export.orig/drivers/scsi/scsi_lib.c 2
prototype of the function is added right above
scsi_queue_insert(). This is temporary, as later requeue path
consolidation patchset removes scsi_queue_insert(). By adding
temporary prototype, we can do away with unnecessarily moving
functions.
Signed-off-by: Tejun Heo
blk_insert_request(). Only special
requests should be queued with blk_insert_request(). All
requeueing should go through blk_requeue_request().
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
drivers/block/ll_rw_blk.c | 20 ++--
drivers/block/paride/pd.c |2 +-
drivers
patch makes
scsi_queue_insert() use blk_requeue_request(). As REQ_SPECIAL
means special requests and REQ_SOFTBARRIER is automatically
handled by blk layer now, no flag needs to be set.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c |7 ++-
1 files c
Hello, James, Jens and Christoph.
This patchset is reworked version of the previous REQ_SPECIAL update
patchset. Patches #01 and #05 update blk layer. The other patches
update SCSI midlayer.
I've opted for automatically setting REQ_SOFTBARRIER together with
REQ_STARTED in elv_next_request().
timeout would be good.
Reworked such that timeout race window is kept at minimal
level as pointed out by James Bottomley.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
drivers/scsi/scsi_error.c | 26 --
include/scsi/scsi_host.h |1 +
2 files c
02_scsi_timer_eh_timer_remove_spurious_if.patch
If tests which check if eh_action isn't NULL in both functions
are always true. Remove the if's.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_error.c |6 ++
1 files changed, 2 insertions(+), 4 del
04_scsi_timer_remove_delete_timer_from_reset_provider.patch
scsi_reset_provider() calls scsi_delete_timer() on exit which
isn't necessary. Remove it.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_error.c |1 -
1 files changed, 1 deletion(-)
Index: scsi-r
()
and ignore the return value. This results in race with timer
expiration. Remove scsi_delete_timer() call from
scsi_queue_insert() and make the caller delete timer and check
the return value.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c
Hello, James.
This patchset contains the following patches from the previous timer
update patchset.
02_scsi_timer_eh_timer_fix.patch
03_scsi_timer_dispatch_race_fix.patch
04_scsi_timer_remove_delete_timer_from_reset_provider.patch
eh_timer_fix is reworked as you suggested and split into tw
James Bottomley wrote:
> On Tue, 2005-04-19 at 07:31 +0900, Tejun Heo wrote:
>
>> The original code also uses timer pending status as a signal that
>>command completed normally in scsi_eh_done() function, and the same
>>race also exists in the original code, no matter what
Hello, James.
On Mon, Apr 18, 2005 at 10:33:21AM -0500, James Bottomley wrote:
> On Mon, 2005-04-11 at 03:45 +0900, Tejun Heo wrote:
> > scmd->eh_timeout is used to resolve the race between command
> > completion and timeout. However, during error handling,
> &g
Hello, James.
Hello, Jens.
James Bottomley wrote:
> On Mon, 2005-04-18 at 07:41 +0900, Tejun Heo wrote:
>
>> As it's been almost a week since I posted scsi midlayer patchsets and
>>haven't heard anything yet, I've been wondering what's going on. Are
&
Hello, guys.
This patchset reimplements scsi_request_fn(). All prep's are moved
into prep_fn and all state checking/issueing are moved into
scsi_reqfn. prep_fn() only terminates/defers unpreparable requests
and all requests are terminated through scsi midlayer.
[ Start of patch descriptions
round and soon to be
replaced, so ignore it for now.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c | 11 ---
1 files changed, 11 deletions(-)
Index: scsi-reqfn-export/drivers/scsi/scsi_lib.c
===
---
owing
requeue path consoildation patchset.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c | 30 --
scsi_lib.c | 17 +
2 files changed, 17 insertions(+), 30 deletions(-)
Index: scsi-reqfn-export/drivers/
impl patch.
ret value checking was changed to switch() as in James's
patch. Also, kill: comment is copied from James's patch.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c | 46 +++---
1 files changed, 31 insertions(
Hello, Christoph Hellwig.
On Mon, Apr 11, 2005 at 01:44:19PM +0100, Christoph Hellwig wrote:
> > + cmd->request->flags |= REQ_SOFTBARRIER;
> > +
> > + spin_lock_irqsave(q->queue_lock, flags);
> > + blk_requeue_request(q, cmd->request);
> > + spin_unlock_irqrestore(q->queue_lock, flags);
>
Tejun Heo wrote:
Hello, guys.
This patchset reimplements scsi_request_fn(). All prep's are moved
into prep_fn and all state checking/issueing are moved into
scsi_reqfn. prep_fn() only terminates/defers unpreparable requests
and all requests are terminated through scsi midlayer.
This pat
scsi_retry_command() more symmetrical with
scsi_finish_command().
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c |5 -
scsi_error.c | 31 +++
2 files changed, 7 insertions(+), 29 deletions(-)
Index: scsi-reqfn-export/drivers/scsi/
06_scsi_requeue_reset_result.patch
cmd->result wasn't cleared on requeue or reprep. Clear it.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c |9 +
scsi_lib.c |1 +
2 files changed, 6 insertions(+), 4 deletions(-)
Index: scsi-reqfn-export/drive
04_scsi_requeue_remove_scsi_queue_insert.patch
scsi_queue_insert() now has no user left. Kill it.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c | 76
scsi_priv.h |1
2 files changed, 77 deletions(-)
also makes scsi_retry_command() symmetric with
scsi_finish_command() in how it unbusies the command. Also as
there's nothing to return, make the function void.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c |8 ++--
scsi_priv.h |2 +-
2 files
function scsi_requeue_command_reprep() is defined
and used for the original users of scsi_requeue_command().
Using a wrapper function for reprep cases is suggested by
Christoph Hellwig.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c
Hello again, guys.
This is the last patchset and assumes that all previous patchsets are
applied. This patchset conolidates requeue paths such that all
requeue after command issue goes through scsi_requeue_command().
Requeueing due to unifinished bytes goes through
scsi_requeue_command_reprep()
ff-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c |5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
Index: scsi-reqfn-export/drivers/scsi/scsi_lib.c
===
--- scsi-reqfn-export.orig/drivers/scsi/scsi_lib.c 2005-0
device_blocked on ADD_TO_MLQUEUE case in
scsi_softirq().
Open code device_blocked setting and replace
scsi_queue_insert() with scsi_retry_command() in both cases.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c |7 ---
scsi_error.c |2 +-
2
Oops, I forgot to mention that reqfn is reformatted mostly as
suggested by Chritoph Hellwig. Sorry.
On Tue, Apr 12, 2005 at 07:33:03PM +0900, Tejun Heo wrote:
> 03_scsi_reqfn_reimplementation.patch
>
> This patch rewrites scsi_request_fn(). scsi_dispatch_cmd() is
>
This is the only requeue path.
Note that scsi_kill_requests() still terminates requests using
blk layer. The path is circular-ref workaround and soon to be
replaced, so ignore it for now.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c
the function is added right above
scsi_queue_insert(). This is temporary, as later requeue path
consolidation patchset removes scsi_queue_insert(). By adding
temporary prototype, we can do away with unnecessary changes.
Signed-off-by: Tejun Heo <[EMAIL PROTEC
blk_insert_request(). Only special
requests should be queued with blk_insert_request(). All
requeueing should go through blk_requeue_request().
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
drivers/block/ll_rw_blk.c | 20 ++--
drivers/block/paride/pd.c |2 +-
drivers
. This patch makes
scsi_requeue_request() use blk_requeue_request() and
explicitly set REQ_SOFTBARRIER. As REQ_SPECIAL now means
special requests, the flag is not set on requeue.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c |8 +++-
1 files chan
Hello, James.
This patchset is split up of REQ_SPECIAL update patches (#01-02) of
previous patchset posted on March 31. Explicit setting of
REQ_SOFTBARRIER in scsi_init_io() is added.
This patchset makes REQ_SPECIAL mean that the request is a special
request and REQ_SOFTBARRIER setting explic
for half-prepp'ed
requests. So, replace REQ_SPECIAL with REQ_SOFTBARRIER.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: scsi-reqfn-export/drivers/scsi
ete}_timer() routines and
also removes @complete argument from scsi_add_timer(). The
change makes the use of scsi_times_out() confined in
scsi_error.c, so move it upward such that no prototype is
needed and make it static.
Signed-off-by: Tejun Heo <[EMAIL PROTECTE
by making
scsi_send_eh_cmnd() use its own timer.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_error.c | 64 ++-
scsi_priv.h |1
2 files changed, 20 insertions(+), 45 deletions(-)
Index: scsi-reqfn-export/drivers/sc
()
and ignore the return value. This results in race with timer
expiration. Remove scsi_delete_timer() call from
scsi_queue_insert() and make the caller delete timer and check
the return value.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c
06_scsi_timer_update_api_doc.patch
As scsi_{add|delete}_timer() got unexported, remove them from
the API doc.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_mid_low_api.txt | 41 -
1 files changed, 41 deletions(-)
Index: scsi
07_scsi_timer_strict_reuse.patch
SCSI cmd timer shouldn't be reused while it's active. Make
sure that the unused condition is marked with
eh_timeout->function = NULL and BUG() active reuse path.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
04_scsi_timer_remove_delete_timer_from_reset_provider.patch
scsi_reset_provider() calls scsi_delete_timer() on exit which
isn't necessary. Remove it.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_error.c |1 -
1 files changed, 1 deletion(-)
Index: scsi-r
cmd->eh_timeout.
Suggested by Christoph Hellwig.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
aic79xx_osm.c | 24
aic7xxx_osm.c | 24
2 files changed, 32 insertions(+), 16 deletions(-)
Index: scsi-reqfn-export/drivers/scsi/aic7xxx/a
Hello, James, Jens and Christoph.
This patchset removes misuses of scmd->eh_timeout and unexports SCSI
timer interface such that no one can misuse it anymore. #02 assumes
that the preceding scsi_send_eh_cmnd() patch is applied. Tested and
worked for me.
The following bugs are fixed.
* Race
Hello, James.
This patch makes scsi_send_eh_cmnd() use sdev and shost instead of
referencing them through scmd-> everytime. Following timer cleanup
patchset assumes this patch is applied.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
Index: scsi-reqfn-export/drivers/scsi/scs
d by Christoph.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
Index: scsi-reqfn-export/include/scsi/scsi_device.h
===
--- scsi-reqfn-export.orig/include/scsi/scsi_device.h 2005-04-10
13:03:14.0 +0900
+++ scsi-reqfn
Jens Axboe wrote:
On Wed, Apr 06 2005, Arjan van de Ven wrote:
@@ -324,6 +334,7 @@
issue_flush_fn *issue_flush_fn;
prepare_flush_fn*prepare_flush_fn;
end_flush_fn*end_flush_fn;
+ release_queue_data_fn *release_queue_data_fn;
/*
Hello, James.
James Bottomley wrote:
On Fri, 2005-04-01 at 14:25 +0900, Tejun Heo wrote:
Ah.. with later requeue path consolidation patches, all requests get
their sense buffer cleared during requeueing, which, IMHO, is more
logical. Moving scsi_init_cmd_errh() should come after the patch.
Sorry
Hello, Eric.
Hello, James.
I've been working on new SCSI state model and was checking on
scsi_device_online() users. As the state model is going to change, I
need to audit device state usages in lldd's and I'm having difficult
time understanding why scsi_device_online() is used in mptscsih.
Greetings, James. :-)
On Fri, Apr 01, 2005 at 12:23:37PM -0600, James Bottomley wrote:
> On Thu, 2005-03-31 at 18:08 +0900, Tejun Heo wrote:
> > When scsi_init_io() returns BLKPREP_DEFER or BLKPREP_KILL,
> > it's supposed to free resources itself. This patch
> &
Greetings, James.
On Fri, Apr 01, 2005 at 12:09:48PM -0600, James Bottomley wrote:
> On Fri, 2005-04-01 at 14:01 +0900, Tejun Heo wrote:
> > > Well, REQ_SPECIAL is the signal to the mid-layer that we've allocated
> > > the resources necessary to process the comma
Hello, Christoph.
On Thu, Mar 31, 2005 at 12:14:16PM +0100, Christoph Hellwig wrote:
> the changes look good to me (although I haven't tested any of your patches
> yet), but the code flow is rather confusing. What do you think about
> the not even compile version of scsi_request_fn() below that
Hello, Christoph.
On Thu, Mar 31, 2005 at 11:32:03AM +0100, Christoph Hellwig wrote:
> > - * Arguments: q - queue to operate on
> > - * cmd - command that may need to be requeued.
> > + * Arguments: cmd - command that may need to be requeued.
> > + * reprep
Hello, James.
On Thu, Mar 31, 2005 at 12:02:20PM -0600, James Bottomley wrote:
> On Thu, 2005-03-31 at 18:08 +0900, Tejun Heo wrote:
> > -* come up when there is a medium error. We have to treat
> > -* these two cases differently. We differentiate by looking
> > -
Hello, James.
On Thu, Mar 31, 2005 at 12:07:44PM -0600, James Bottomley wrote:
> On Thu, 2005-03-31 at 18:08 +0900, Tejun Heo wrote:
> > Move request preparations scattered in scsi_request_fn() and
> > scsi_dispatch_cmd() into scsi_prep_fn().
> >
> &
Hello, Christoph.
On Thu, Mar 31, 2005 at 11:20:40AM +0100, Christoph Hellwig wrote:
> > +/*
> > + * Macro to determine the size of SCSI command. This macro takes vendor
> > + * unique commands into account. SCSI commands in groups 6 and 7 are
> > + * vendor unique and we will depend upon the com
Hello, Chritoph.
On Thu, Mar 31, 2005 at 11:13:53AM +0100, Christoph Hellwig wrote:
> > /* Queue the command and wait for it to complete */
> > /* Abuse eh_timeout in the scsi_cmnd struct for our purposes */
> > init_timer(&cmd->eh_timeout);
> > + cmd
Hello, Chritoph.
On Thu, Mar 31, 2005 at 11:11:45AM +0100, Christoph Hellwig wrote:
> On Thu, Mar 31, 2005 at 06:08:10PM +0900, Tejun Heo wrote:
> > struct list_headsiblings; /* list of all devices on this host */
> > struct list_headsame_target_siblings; /* j
Hello, James.
On Thu, Mar 31, 2005 at 11:53:45AM -0600, James Bottomley wrote:
> On Thu, 2005-03-31 at 18:08 +0900, Tejun Heo wrote:
> > Don't turn on REQ_SPECIAL on sgtable allocation failure. This
> > was the last place where REQ_SPECIAL is turned on for nor
Hello, James.
On Thu, Mar 31, 2005 at 11:53:20AM -0600, James Bottomley wrote:
> On Thu, 2005-03-31 at 18:07 +0900, Tejun Heo wrote:
> > 01_scsi_no_REQ_SPECIAL_on_requeue.patch
> >
> > blk_insert_request() has 'reinsert' argument, which, when set,
&
On Thu, Mar 31, 2005 at 11:12:11AM +0100, Christoph Hellwig wrote:
> On Thu, Mar 31, 2005 at 06:07:55PM +0900, Tejun Heo wrote:
> > 01_scsi_no_REQ_SPECIAL_on_requeue.patch
> >
> > blk_insert_request() has 'reinsert' argument, which, when set,
> > tur
urred when sgtable
allocation failed and device_busy == 0.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c | 23 ---
1 files changed, 12 insertions(+), 11 deletions(-)
Index: scsi-export/drivers/scsi
13_scsi_consolidate_cmd_retry_calls_in_eh.patch
Replace all scsi_setup_cmd_retry() calls in scsi_error.c with
a call just above scsi_finish_command() in scsi_eh_flush_done_q().
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_error.c | 25 +
1
ue_ready().
* req->special == NULL test removed. This just can't happen,
and even if it ever happens, scsi_request_fn() will
deterministically oops.
* Requests which gets deferred during host-prep are requeued
using blk_requeue_request(). This i
make
scsi_eh_flush_done_q() use scsi_retry_command(). While at it,
remove leading and tailing empty comment lines from trivial
comments.
As scsi_queue_insert() has no users now, kill it.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c
11_scsi_make_requeue_command_public.patch
Add reprep argument to scsi_requeue_command(), remove
redundant q argument, add code to set cmd->state/owner, and
make the function public. This patch is preparation for
consolidating requeue paths.
Signed-off-by: Te
scsi_request_fn()
No invalid request reaches scsi_request_fn() anymore.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi.c | 30 --
scsi_lib.c | 25 +++--
2 files changed, 19 insertions(+), 36 deletions(-)
Index: scsi-export/d
09_scsi_prep_fn_comment_update.patch
Remove bogus comments from scsi_prep_fn() and clean up a bit.
While at it, remove leading and tailing empty comment lines
for one or two liners to make the code more concise.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi
ways equals ->serial_number and ->serial_number
doesn't have any special meaning anymore, update comments
above ->serial_number accordingly. Once we remove all uses of
this field from all lldd's, this field should go.
Signed-off-by: Tejun Heo <[EMAIL PROT
02_scsi_no_REQ_SPECIAL_on_sgtable_allocation_failure.patch
Don't turn on REQ_SPECIAL on sgtable allocation failure. This
was the last place where REQ_SPECIAL is turned on for normal
requests.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_lib.c |4 +-
tency and clarity.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
scsi_device.h |3 ++-
scsi_host.h | 10 --
2 files changed, 10 insertions(+), 3 deletions(-)
Index: scsi-export/include/scsi/scsi_device.h
===
--- s
03_scsi_remove_internal_timeout.patch
scsi_cmnd->internal_timeout field doesn't have any meaning
anymore. Kill the field.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
drivers/scsi/advansys.c |2 --
drivers/scsi/pci2000.c|4 ++--
drivers/scsi/scsi.
. The condition is
always true and the test is somewhat misleading.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
aic7xxx/aic79xx_osm.c |1 +
aic7xxx/aic7xxx_osm.c |1 +
scsi.c| 10 ++
scsi_error.c | 25 -
e() are moved upward unchanged.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
drivers/block/ll_rw_blk.c | 20 +--
drivers/block/paride/pd.c |2
drivers/block/sx8.c |4
drivers/scsi/scsi_lib.c | 238 +++---
include/linux/blkdev.h|
Hello, James.
Hello, Jens.
This patchset is consisted of three parts
#01-#06: Misc updates. Except for #02, all patches are from the last
patchset. #05 has been updated.
#07-#10: Rewrite scsi_request_fn().
#11-#13: Consolidate requeue paths & cleanup scsi_cmd_retry() calls
(This is re-post, I mistyped linux-scsi address in the first mail.
Sorry, Matthew.)
Hello, Matthew Wilcox.
The following might_sleep() message appears during booting on
scsi-misc-2.6. Quick glance shows that sym_alloc_lcb_tags() uses
GFP_KERNEL blindly.
sym0: <1010-33> rev 0x1 at pci :
601 - 700 of 719 matches
Mail list logo