lkml.org 
[lkml]   [2014]   [Dec]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH 1/4] Drivers: scsi: storvsc: In responce to a scan event, scan the host
Date


> -----Original Message-----
> From: devel [mailto:driverdev-devel-bounces@linuxdriverproject.org] On
> Behalf Of K. Y. Srinivasan
> Sent: Tuesday, December 16, 2014 1:22 PM
> To: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> devel@linuxdriverproject.org; ohering@suse.com;
> jbottomley@parallels.com; hch@infradead.org; linux-scsi@vger.kernel.org
> 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@microsoft.com>
Reviewed-by: Long Li <longli@microsoft.com>
> ---
> 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@linuxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


\
 
 \ /
  Last update: 2014-12-30 20:41    [W:0.109 / U:0.420 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site