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
next prev parent 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).