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)

Reply via email to