# HG changeset patch # User root@localhost.localdomain # Date 1228710219 -32400 # Node ID e442ab2c9d997dbd54f2203557e82fd2791a578c # Parent d69643eb46702bd6b5f6c5d85bf8699cc14fdd12 [PVSCSI] bug fix report_lun Signed-off-by: James Harper Signed-off-by: Tomonari Horikoshi Signed-off-by: Jun Kamada diff -r d69643eb4670 -r e442ab2c9d99 drivers/xen/scsiback/common.h --- a/drivers/xen/scsiback/common.h Mon Dec 08 09:53:46 2008 +0900 +++ b/drivers/xen/scsiback/common.h Mon Dec 08 13:23:39 2008 +0900 @@ -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; diff -r d69643eb4670 -r e442ab2c9d99 drivers/xen/scsiback/emulate.c --- a/drivers/xen/scsiback/emulate.c Mon Dec 08 09:53:46 2008 +0900 +++ b/drivers/xen/scsiback/emulate.c Mon Dec 08 13:23:39 2008 +0900 @@ -208,8 +208,8 @@ static void __report_luns(pending_req_t 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; diff -r d69643eb4670 -r e442ab2c9d99 drivers/xen/scsiback/scsiback.c --- a/drivers/xen/scsiback/scsiback.c Mon Dec 08 09:53:46 2008 +0900 +++ b/drivers/xen/scsiback/scsiback.c Mon Dec 08 13:23:39 2008 +0900 @@ -513,8 +513,8 @@ static int prepare_pending_reqs(struct v 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();