[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BLUPR03MB4075B290CA33C4BDFD03B7ACE5E0@BLUPR03MB407.namprd03.prod.outlook.com>
Date: Tue, 30 Dec 2014 19:21:52 +0000
From: Long Li <longli@...rosoft.com>
To: KY Srinivasan <kys@...rosoft.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>,
"ohering@...e.com" <ohering@...e.com>,
"jbottomley@...allels.com" <jbottomley@...allels.com>,
"hch@...radead.org" <hch@...radead.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>
Subject: RE: [PATCH 1/4] Drivers: scsi: storvsc: In responce to a scan event,
scan the host
> -----Original Message-----
> From: devel [mailto:driverdev-devel-bounces@...uxdriverproject.org] On
> Behalf Of K. Y. Srinivasan
> Sent: Tuesday, December 16, 2014 1:22 PM
> To: gregkh@...uxfoundation.org; linux-kernel@...r.kernel.org;
> devel@...uxdriverproject.org; ohering@...e.com;
> jbottomley@...allels.com; hch@...radead.org; linux-scsi@...r.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@...rosoft.com>
Reviewed-by: Long Li <longli@...rosoft.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@...uxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists