RE: [PATCH 1/4] Drivers: scsi: storvsc: In responce to a scan event, scan the host

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: devel [mailto:driverdev-devel-bounces@xxxxxxxxxxxxxxxxxxxxxx] On
> Behalf Of K. Y. Srinivasan
> Sent: Tuesday, December 16, 2014 1:22 PM
> To: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devel@xxxxxxxxxxxxxxxxxxxxxx; ohering@xxxxxxxx;
> jbottomley@xxxxxxxxxxxxx; hch@xxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx
> Subject: [PATCH 1/4] Drivers: scsi: storvsc: In responce to a scan event, scan
> the host
> 
> The virtual HBA that storvsc implements can support multiple channels and
> targets. So, scan the host when the host notifies that a scan is needed.
> 
> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
> ---
>  drivers/scsi/storvsc_drv.c |   19 +++++++------------
>  1 files changed, 7 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index
> e3ba251..0a96fef 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -426,21 +426,16 @@ done:
>  	kfree(wrk);
>  }
> 
> -static void storvsc_bus_scan(struct work_struct *work)
> +static void storvsc_host_scan(struct work_struct *work)
>  {
>  	struct storvsc_scan_work *wrk;
> -	int id, order_id;
> +	struct Scsi_Host *host;
> 
>  	wrk = container_of(work, struct storvsc_scan_work, work);
> -	for (id = 0; id < wrk->host->max_id; ++id) {
> -		if (wrk->host->reverse_ordering)
> -			order_id = wrk->host->max_id - id - 1;
> -		else
> -			order_id = id;
> -
> -		scsi_scan_target(&wrk->host->shost_gendev, 0,
> -				order_id, SCAN_WILD_CARD, 1);
> -	}
> +	host = wrk->host;
> +
> +	scsi_scan_host(host);
> +
>  	kfree(wrk);
>  }
> 
> @@ -1198,7 +1193,7 @@ static void storvsc_on_receive(struct hv_device
> *device,
>  		if (!work)
>  			return;
> 
> -		INIT_WORK(&work->work, storvsc_bus_scan);
> +		INIT_WORK(&work->work, storvsc_host_scan);
>  		work->host = stor_device->host;
>  		schedule_work(&work->work);
>  		break;
> --
> 1.7.4.1
> 
> _______________________________________________
> devel mailing list
> devel@xxxxxxxxxxxxxxxxxxxxxx
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux