linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Arjan van de Ven <arjan@infradead.org>,
	James.Bottomley@SteelEye.com, linux-scsi@vger.kernel.org,
	albertcc@tw.ibm.com, linux-ide@vger.kernel.org,
	jgarzik@pobox.com
Subject: Re: [PATCH 07/13] SCSI: export scsi_eh_finish_cmd() and	scsi_eh_flush_done_q()
Date: Mon, 23 Jan 2006 19:05:59 +0900	[thread overview]
Message-ID: <43D4AA87.9080408@gmail.com> (raw)
In-Reply-To: <20060123093653.GB9157@infradead.org>

Christoph Hellwig wrote:
> On Mon, Jan 23, 2006 at 05:20:42PM +0900, Tejun Heo wrote:
> 
>>Arjan van de Ven wrote:
>>
>>>On Mon, 2006-01-23 at 13:09 +0900, Tejun Heo wrote:
>>>
>>>
>>>>Export two SCSI EH command handling functions.  To be used by libata EH.
>>>
>>>since these are pretty much internal, can we make these _GPL exports?
>>>
>>
>>It's SCSI developers' decision.  I chose EXPORT_SYMBOL because all other
>>exported symbols in scsi_error.c were using it.  James?
> 
> 
> These are internal functions.  If we're going to export them at all then
> as _GPL (which is grossly misnamed and should be _INTERNAL)

And from the other thread created by my mistake.

 > What do you need it for?  Please send the whole patch series (and
 > generally anything in libata that interacts with the scsi midlayer) to
 > linux-scsi, please.

It's rather large patchset consisting of 13 libata-eh related patches. 
Only two of the patches are relevant to SCSI.  I'm not sure whether 
cross-posting the whole thing is appropriate.

The first one exports two scsi_eh functions (this thread) and the second 
one uses these two to implement ata_eh_retry/complete helpers.

http://marc.theaimsgroup.com/?l=linux-ide&m=113798939719926&w=2
http://marc.theaimsgroup.com/?l=linux-ide&m=113798939627887&w=2

These are used because libata implements shost->eh_strategy_handler for 
error handling.  libata's ->eh_strategy_handler should do everything 
scsi_unjam_host() does and one chunk is to retry or complete failed SCSI 
commands during or after EH completes.  libata used to do this by 
calling scsi_finish_command() directly, which is an internal interface 
too.  Directly calling scsi_finish_command() also used to have deadlock 
problem when libata shared SCSI's host lock.

As what has to be done is identical, above two patches make libata share 
that part of code with scsi_unjam_host().  And, as Jeff commented, once 
these are settled scsi_fini_command() can be unexported.

-- 
tejun

  reply	other threads:[~2006-01-23 10:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-23  4:09 [PATCHSET] libata: various fixes related to EH, take #2 Tejun Heo
2006-01-23  4:09 ` [PATCH 06/13] libata: return AC_ERR_* from issue functions Tejun Heo
2006-01-23  4:09 ` [PATCH 07/13] SCSI: export scsi_eh_finish_cmd() and scsi_eh_flush_done_q() Tejun Heo
2006-01-23  7:09   ` Jeff Garzik
2006-01-23  7:26   ` Arjan van de Ven
2006-01-23  8:20     ` Tejun Heo
2006-01-23  9:36       ` Christoph Hellwig
2006-01-23 10:05         ` Tejun Heo [this message]
2006-01-24 17:11           ` Luben Tuikov
2006-01-24 17:20             ` Arjan van de Ven
2006-01-24 18:25               ` Luben Tuikov
2006-01-24 17:30             ` Jeff Garzik
2006-01-24 18:53               ` Luben Tuikov
2006-01-23 14:52   ` Tejun Heo
2006-01-23  4:09 ` [PATCH 01/13] libata: fold __ata_qc_complete() into ata_qc_free() Tejun Heo
2006-01-27  3:34   ` Jeff Garzik
2006-01-23  4:09 ` [PATCH 02/13] libata: make the owner of a qc responsible for freeing it Tejun Heo
2006-01-23  4:09 ` [PATCH 03/13] libata: fix ata_qc_issue() error handling Tejun Heo
2006-01-23  4:09 ` [PATCH 04/13] ahci: fix err_mask setting in ahci_host_intr Tejun Heo
2006-01-27  3:36   ` Jeff Garzik
2006-01-23  4:09 ` [PATCH 05/13] libata: add detailed AC_ERR_* flags Tejun Heo
2006-01-23  4:09 ` [PATCH 10/13] libata: kill NULL qc handling from ->eng_timeout callbacks Tejun Heo
2006-01-23  4:09 ` [PATCH 13/13] libata: EH / pio tasks synchronization Tejun Heo
2006-01-23  4:09 ` [PATCH 08/13] libata: implement and apply ata_eh_qc_complete/retry() Tejun Heo
2006-01-23  4:09 ` [PATCH 09/13] libata: fix handling of race between timeout and completion Tejun Heo
2006-01-27  3:55   ` Jeff Garzik
2006-01-27  3:58     ` Jeff Garzik
2006-02-01 15:36     ` Tejun Heo
2006-02-09  6:21       ` Jeff Garzik
2006-01-23  4:09 ` [PATCH 11/13] libata: implement ATA_FLAG_IN_EH port flag Tejun Heo
2006-01-27  4:00   ` Jeff Garzik
2006-01-23  4:09 ` [PATCH 12/13] libata: create pio/atapi task queueing wrappers Tejun Heo
2006-01-27  4:02   ` Jeff Garzik

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=43D4AA87.9080408@gmail.com \
    --to=htejun@gmail.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=albertcc@tw.ibm.com \
    --cc=arjan@infradead.org \
    --cc=hch@infradead.org \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    /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 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).