[PATCH] libata-hp-prep: add ata_aux_wq
It's best to run ATA hotplug from EH but attaching SCSI devices needs working EH. ata_aux_wq is used to give SCSI hotplug operations a separate context. Signed-off-by: Tejun Heo <htejun@gmail.com>
This commit is contained in:
Родитель
3edebac41b
Коммит
453b07accb
|
@ -69,6 +69,8 @@ static void ata_dev_xfermask(struct ata_device *dev);
|
|||
static unsigned int ata_unique_id = 1;
|
||||
static struct workqueue_struct *ata_wq;
|
||||
|
||||
struct workqueue_struct *ata_aux_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)");
|
||||
|
@ -5623,6 +5625,12 @@ static int __init ata_init(void)
|
|||
if (!ata_wq)
|
||||
return -ENOMEM;
|
||||
|
||||
ata_aux_wq = create_singlethread_workqueue("ata_aux");
|
||||
if (!ata_aux_wq) {
|
||||
destroy_workqueue(ata_wq);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
printk(KERN_DEBUG "libata version " DRV_VERSION " loaded.\n");
|
||||
return 0;
|
||||
}
|
||||
|
@ -5630,6 +5638,7 @@ static int __init ata_init(void)
|
|||
static void __exit ata_exit(void)
|
||||
{
|
||||
destroy_workqueue(ata_wq);
|
||||
destroy_workqueue(ata_aux_wq);
|
||||
}
|
||||
|
||||
module_init(ata_init);
|
||||
|
|
|
@ -39,6 +39,7 @@ struct ata_scsi_args {
|
|||
};
|
||||
|
||||
/* libata-core.c */
|
||||
extern struct workqueue_struct *ata_aux_wq;
|
||||
extern int atapi_enabled;
|
||||
extern int atapi_dmadir;
|
||||
extern int libata_fua;
|
||||
|
|
Загрузка…
Ссылка в новой задаче