All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: jgarzik@pobox.com, alan@lxorguk.ukuu.org.uk, axboe@suse.de,
	albertcc@tw.ibm.com, lkosewsk@gmail.com,
	linux-ide@vger.kernel.org
Cc: Tejun Heo <htejun@gmail.com>
Subject: [PATCH 13/13] libata-hp: add ata_hotplug_wq
Date: Tue, 11 Apr 2006 23:06:22 +0900	[thread overview]
Message-ID: <11447643821791-git-send-email-htejun@gmail.com> (raw)
In-Reply-To: <11447643813451-git-send-email-htejun@gmail.com>

It's best to run ATA hotplug from EH but attaching SCSI devices needs
working EH.  ata_hotplug_wq is used to give SCSI hotplug operations a
separate context.

Signed-off-by: Tejun Heo <htejun@gmail.com>

---

 drivers/scsi/libata-core.c |    9 +++++++++
 drivers/scsi/libata.h      |    1 +
 2 files changed, 10 insertions(+), 0 deletions(-)

1438492c4408fc908d3fb5865fd56231360a2fcd
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 0206791..610f963 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -72,6 +72,8 @@ static void ata_dev_xfermask(struct ata_
 static unsigned int ata_unique_id = 1;
 static struct workqueue_struct *ata_wq;
 
+struct workqueue_struct *ata_hotplug_wq;
+
 int atapi_enabled = 1;
 module_param(atapi_enabled, int, 0444);
 MODULE_PARM_DESC(atapi_enabled, "Enable discovery of ATAPI devices (0=off, 1=on)");
@@ -5300,6 +5302,12 @@ static int __init ata_init(void)
 	if (!ata_wq)
 		return -ENOMEM;
 
+	ata_hotplug_wq = create_workqueue("ata_hotplug");
+	if (!ata_hotplug_wq) {
+		destroy_workqueue(ata_wq);
+		return -ENOMEM;
+	}
+
 	printk(KERN_DEBUG "libata version " DRV_VERSION " loaded.\n");
 	return 0;
 }
@@ -5307,6 +5315,7 @@ static int __init ata_init(void)
 static void __exit ata_exit(void)
 {
 	destroy_workqueue(ata_wq);
+	destroy_workqueue(ata_hotplug_wq);
 }
 
 module_init(ata_init);
diff --git a/drivers/scsi/libata.h b/drivers/scsi/libata.h
index 659badb..09fddf6 100644
--- a/drivers/scsi/libata.h
+++ b/drivers/scsi/libata.h
@@ -40,6 +40,7 @@ struct ata_scsi_args {
 };
 
 /* libata-core.c */
+extern struct workqueue_struct *ata_hotplug_wq;
 extern int atapi_enabled;
 extern int atapi_dmadir;
 extern int libata_fua;
-- 
1.2.4



  parent reply	other threads:[~2006-04-11 14:06 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-11 14:06 [PATCHSET 8/9] prep for hotplug support Tejun Heo
2006-04-11 14:06 ` [PATCH 01/13] libata-hp: separate out __ata_scsi_find_dev() Tejun Heo
2006-04-11 14:06 ` [PATCH 08/13] libata-hp: move device enable/disable out of ata_bus_probe() Tejun Heo
2006-04-11 14:06 ` [PATCH 02/13] libata-hp: add more SERR_* constants in preparation for hotplug support Tejun Heo
2006-04-11 14:06 ` [PATCH 05/13] libata-hp: call ata_dev_init() from ata_bus_probe() Tejun Heo
2006-04-11 14:06 ` [PATCH 04/13] libata-hp: make some fields of ata_device persistent Tejun Heo
2006-04-11 14:06 ` [PATCH 07/13] libata-hp: implement ap->orig_sata_spd_limit Tejun Heo
2006-04-27  9:19   ` Jeff Garzik
2006-04-27 10:18     ` Tejun Heo
2006-04-11 14:06 ` [PATCH 06/13] libata-hp: prepare for persistent device flags Tejun Heo
2006-04-11 14:06 ` [PATCH 03/13] libata-hp: implement ata_dev_init() Tejun Heo
2006-04-11 14:06 ` [PATCH 12/13] libata-hp: store attached SCSI device Tejun Heo
2006-04-27  9:20   ` Jeff Garzik
2006-04-11 14:06 ` [PATCH 11/13] libata-hp: add hotplug flags and flag handling functions Tejun Heo
2006-04-11 14:06 ` [PATCH 09/13] libata-hp: prepare ata_bus_probe() for hotplug Tejun Heo
2006-04-11 14:06 ` [PATCH 10/13] libata-hp: make ata_bus_probe() extern Tejun Heo
2006-04-11 14:06 ` Tejun Heo [this message]
2006-04-13  6:11   ` [PATCH 13/13] libata-hp: add ata_hotplug_wq zhao, forrest
2006-04-13  6:33     ` Tejun Heo
2006-04-12  1:41 ` [PATCHSET 8/9] prep for hotplug support Tejun Heo
2006-04-27  9:22 ` Jeff Garzik
2006-04-27 10:27   ` Tejun Heo
2006-04-27 10:36     ` Jeff Garzik
2006-04-27 10:47       ` Tejun Heo

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=11447643821791-git-send-email-htejun@gmail.com \
    --to=htejun@gmail.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=albertcc@tw.ibm.com \
    --cc=axboe@suse.de \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=lkosewsk@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.