mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH scsi-misc-2.6 00/07] scsi: requeue path consolidation
@ 2005-04-12 12:52 Tejun Heo
  2005-04-12 12:52 ` [PATCH scsi-misc-2.6 01/07] scsi: update and make public scsi_requeue_command() Tejun Heo
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Tejun Heo @ 2005-04-12 12:52 UTC (permalink / raw)
  To: James.Bottomley, axboe, Christoph Hellwig; +Cc: linux-scsi, linux-kernel

 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() and due to error through
scsi_retry_command().

 This is the last patchset before the new implementation of scsi
device state model.  New state model is complete now and ready to be
splitted & submitted.  As soon as these patchsets are settled, I'll
post the new device model patchset.

[ Start of patch descriptions ]

01_scsi_requeue_make_requeue_command_public.patch
	: update and make public scsi_requeue_command()

	This patch makes the following changes to
	scsi_requeue_command() and make the function public.

	* remove redundant argument @q
	* remove REQ_DONTPREP clearing
	* add state/owner setting

	A new inline 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.

02_scsi_requeue_use_scsi_requeue_command_in_scsi_retry_command.patch
	: make scsi_retry_command() use scsi_requeue_command()

	scsi_retry_command() orignally used scsi_queue_insert() for
	requeueing.  This patch makes it use scsi_retry_command()
	instead.  Adding a call to scsi_device_unbusy() is sufficient
	and the change 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.

03_scsi_requeue_use_scsi_retry_command_instead_of_scsi_queue_insert.patch
	: replace scsi_queue_insert() usages with scsi_retry_command()

	There are two users of scsi_queue_insert() left now.  One in
	scsi_softirq() and the other in scsi_eh_flush_done_q().  The
	only additional functionality of scsi_queue_insert() used is
	setting 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.

04_scsi_requeue_remove_scsi_queue_insert.patch
	: remove scsi_queue_insert()

	scsi_queue_insert() now has no user left.  Kill it.

05_scsi_requeue_move_init_cmd_errh.patch
	: move scsi_init_cmd_errh() from request_fn to prep_fn.

	As now all non-reprepped requeue goes through
	scsi_retry_command() which clears sense buffer, there's no
	need to call scsi_init_cmd_errh() in scsi_request_fn().  Move
	scsi_init_cmd_errh() to scsi_prep_fn().

06_scsi_requeue_reset_result.patch
	: add cmd->result clearing

	cmd->result wasn't cleared on requeue or reprep.  Clear it.

07_scsi_requeue_consolidate_setup_cmd_retry_calls_in_eh.patch
	: consolidate scsi_cmd_retry() calls

	scsi_setup_cmd_retry() is needed because scsi eh may alter
	scsi_cmnd to issue eh commands.  Consolidate calls to
	scsi_setup_cmd_retry() to one place in scsi_eh_flush_done_q().
	This change makes scsi_retry_command() more symmetrical with
	scsi_finish_command().

[ End of patch descriptions ]

 Thanks a lot.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-04-12 13:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-12 12:52 [PATCH scsi-misc-2.6 00/07] scsi: requeue path consolidation Tejun Heo
2005-04-12 12:52 ` [PATCH scsi-misc-2.6 01/07] scsi: update and make public scsi_requeue_command() Tejun Heo
2005-04-12 12:52 ` [PATCH scsi-misc-2.6 02/07] scsi: make scsi_retry_command() use scsi_requeue_command() Tejun Heo
2005-04-12 12:52 ` [PATCH scsi-misc-2.6 03/07] scsi: replace scsi_queue_insert() usages with scsi_retry_command() Tejun Heo
2005-04-12 12:52 ` [PATCH scsi-misc-2.6 04/07] scsi: remove scsi_queue_insert() Tejun Heo
2005-04-12 12:52 ` [PATCH scsi-misc-2.6 05/07] scsi: move scsi_init_cmd_errh() from request_fn to prep_fn Tejun Heo
2005-04-12 12:52 ` [PATCH scsi-misc-2.6 06/07] scsi: add cmd->result clearing Tejun Heo
2005-04-12 12:52 ` [PATCH scsi-misc-2.6 07/07] scsi: consolidate scsi_cmd_retry() calls Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®