]> xenbits.xensource.com Git - legacy/linux-2.6.18-xen.git/commitdiff
[PVSCSI] bug fix report_lun
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 9 Dec 2008 13:02:38 +0000 (13:02 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 9 Dec 2008 13:02:38 +0000 (13:02 +0000)
Signed-off-by: James Harper <james.harper@bendigoit.com.au>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
Signed-off-by: Jun Kamada <kama@jp.fujitsu.com>
drivers/xen/scsiback/common.h
drivers/xen/scsiback/emulate.c
drivers/xen/scsiback/scsiback.c

index f59d8dcf37a175c47173261ce98ec8816f2a4c57..8ba0b584462ce66eb321341674f63c0a6a9ad423 100644 (file)
@@ -112,6 +112,8 @@ typedef struct {
 
        uint16_t rqid;
        
+       uint16_t v_chn, v_tgt;
+
        uint8_t nr_segments;
        uint8_t cmnd[VSCSIIF_MAX_COMMAND_SIZE];
        uint8_t cmd_len;
index 1ca0d0ed343bc4ef2005a6af00922cc86fc994e5..f2971f5aab6737ec68b71fb61b912f0a14bbc632 100644 (file)
@@ -208,8 +208,8 @@ static int __nr_luns_under_host(struct vscsibk_info *info)
 static void __report_luns(pending_req_t *pending_req, void *data)
 {
        struct vscsibk_info *info   = pending_req->info;
-       unsigned int        channel = pending_req->sdev->channel;
-       unsigned int        target  = pending_req->sdev->id;
+       unsigned int        channel = pending_req->v_chn;
+       unsigned int        target  = pending_req->v_tgt;
        unsigned int        nr_seg  = pending_req->nr_segments;
        unsigned char *cmd = (unsigned char *)pending_req->cmnd;
        
index 947247f9b5afc99b69d1917680a9d2f701e77825..02ae402044a83a92dc60ee488cbcbf48f57f77bb 100644 (file)
@@ -513,8 +513,8 @@ static int prepare_pending_reqs(struct vscsibk_info *info,
 
        pending_req->info       = info;
 
-       vir.chn = ring_req->channel;
-       vir.tgt = ring_req->id;
+       pending_req->v_chn = vir.chn = ring_req->channel;
+       pending_req->v_tgt = vir.tgt = ring_req->id;
        vir.lun = ring_req->lun;
 
        rmb();