On 09/13/2016 04:30 AM, Yijing Wang wrote: > Now libsas hotplug work is static, LLDD driver queue > the hotplug work into shost->work_q. If LLDD driver > burst post lots hotplug event to libsas, the hotplug > events may pending in the workqueue like > > shost->workq > tail | PHYE_LOSS_OF_SIGNAL | PORTE_BYTES_DMAED | head > > In this case, if a new PORTE_BYTES_DMAED event coming, > it would be lost, because we can not queue a work which > is already pending in the workqueue, also libsas has a > pending bit to avoid queue the same event. > > The lost hotplug event make something confusing, e.g. > we have sas disks connected hardware, but we can not > found them in kernel. > > This patch remove the static defined hotplug work, > and use dynamic work to avoid missing hotplug events. > > Signed-off-by: Yijing Wang <wangyij...@huawei.com> > Signed-off-by: Yousong He <heyous...@huawei.com> > Signed-off-by: Qilin Chen <chenqil...@huawei.com> > --- > drivers/scsi/libsas/sas_event.c | 61 ++++++++++++++++++++--------------- > drivers/scsi/libsas/sas_init.c | 5 +-- > drivers/scsi/libsas/sas_internal.h | 3 ++ > drivers/scsi/libsas/sas_phy.c | 50 ++++++++--------------------- > drivers/scsi/libsas/sas_port.c | 23 ++++++++------ > include/scsi/libsas.h | 8 ----- > 6 files changed, 66 insertions(+), 84 deletions(-) > Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage h...@suse.de +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)