aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/hv/blkvsc.c20
-rw-r--r--drivers/staging/hv/blkvsc_drv.c115
-rw-r--r--drivers/staging/hv/storvsc.c67
-rw-r--r--drivers/staging/hv/storvsc_api.h50
-rw-r--r--drivers/staging/hv/storvsc_drv.c91
5 files changed, 175 insertions, 168 deletions
diff --git a/drivers/staging/hv/blkvsc.c b/drivers/staging/hv/blkvsc.c
index d5b0abd771a..9ac04c385b1 100644
--- a/drivers/staging/hv/blkvsc.c
+++ b/drivers/staging/hv/blkvsc.c
@@ -51,12 +51,12 @@ static int BlkVscOnDeviceAdd(struct hv_device *Device, void *AdditionalInfo)
51 * id. For IDE devices, the device instance id is formatted as 51 * id. For IDE devices, the device instance id is formatted as
52 * <bus id> * - <device id> - 8899 - 000000000000. 52 * <bus id> * - <device id> - 8899 - 000000000000.
53 */ 53 */
54 deviceInfo->PathId = Device->deviceInstance.data[3] << 24 | 54 deviceInfo->path_id = Device->deviceInstance.data[3] << 24 |
55 Device->deviceInstance.data[2] << 16 | 55 Device->deviceInstance.data[2] << 16 |
56 Device->deviceInstance.data[1] << 8 | 56 Device->deviceInstance.data[1] << 8 |
57 Device->deviceInstance.data[0]; 57 Device->deviceInstance.data[0];
58 58
59 deviceInfo->TargetId = Device->deviceInstance.data[5] << 8 | 59 deviceInfo->target_id = Device->deviceInstance.data[5] << 8 |
60 Device->deviceInstance.data[4]; 60 Device->deviceInstance.data[4];
61 61
62 return ret; 62 return ret;
@@ -75,7 +75,7 @@ int BlkVscInitialize(struct hv_driver *Driver)
75 Driver->name = gBlkDriverName; 75 Driver->name = gBlkDriverName;
76 memcpy(&Driver->deviceType, &gBlkVscDeviceType, sizeof(struct hv_guid)); 76 memcpy(&Driver->deviceType, &gBlkVscDeviceType, sizeof(struct hv_guid));
77 77
78 storDriver->RequestExtSize = sizeof(struct storvsc_request_extension); 78 storDriver->request_ext_size = sizeof(struct storvsc_request_extension);
79 79
80 /* 80 /*
81 * Divide the ring buffer data size (which is 1 page less than the ring 81 * Divide the ring buffer data size (which is 1 page less than the ring
@@ -83,20 +83,20 @@ int BlkVscInitialize(struct hv_driver *Driver)
83 * by the max request size (which is 83 * by the max request size (which is
84 * vmbus_channel_packet_multipage_buffer + struct vstor_packet + u64) 84 * vmbus_channel_packet_multipage_buffer + struct vstor_packet + u64)
85 */ 85 */
86 storDriver->MaxOutstandingRequestsPerChannel = 86 storDriver->max_outstanding_req_per_channel =
87 ((storDriver->RingBufferSize - PAGE_SIZE) / 87 ((storDriver->ring_buffer_size - PAGE_SIZE) /
88 ALIGN_UP(MAX_MULTIPAGE_BUFFER_PACKET + 88 ALIGN_UP(MAX_MULTIPAGE_BUFFER_PACKET +
89 sizeof(struct vstor_packet) + sizeof(u64), 89 sizeof(struct vstor_packet) + sizeof(u64),
90 sizeof(u64))); 90 sizeof(u64)));
91 91
92 DPRINT_INFO(BLKVSC, "max io outstd %u", 92 DPRINT_INFO(BLKVSC, "max io outstd %u",
93 storDriver->MaxOutstandingRequestsPerChannel); 93 storDriver->max_outstanding_req_per_channel);
94 94
95 /* Setup the dispatch table */ 95 /* Setup the dispatch table */
96 storDriver->Base.OnDeviceAdd = BlkVscOnDeviceAdd; 96 storDriver->base.OnDeviceAdd = BlkVscOnDeviceAdd;
97 storDriver->Base.OnDeviceRemove = StorVscOnDeviceRemove; 97 storDriver->base.OnDeviceRemove = StorVscOnDeviceRemove;
98 storDriver->Base.OnCleanup = StorVscOnCleanup; 98 storDriver->base.OnCleanup = StorVscOnCleanup;
99 storDriver->OnIORequest = StorVscOnIORequest; 99 storDriver->on_io_request = StorVscOnIORequest;
100 100
101 return ret; 101 return ret;
102} 102}
diff --git a/drivers/staging/hv/blkvsc_drv.c b/drivers/staging/hv/blkvsc_drv.c
index 3f81ca59106..d65d69e3ebc 100644
--- a/drivers/staging/hv/blkvsc_drv.c
+++ b/drivers/staging/hv/blkvsc_drv.c
@@ -177,13 +177,13 @@ static int blkvsc_drv_init(int (*drv_init)(struct hv_driver *drv))
177 struct driver_context *drv_ctx = &g_blkvsc_drv.drv_ctx; 177 struct driver_context *drv_ctx = &g_blkvsc_drv.drv_ctx;
178 int ret; 178 int ret;
179 179
180 storvsc_drv_obj->RingBufferSize = blkvsc_ringbuffer_size; 180 storvsc_drv_obj->ring_buffer_size = blkvsc_ringbuffer_size;
181 181
182 /* Callback to client driver to complete the initialization */ 182 /* Callback to client driver to complete the initialization */
183 drv_init(&storvsc_drv_obj->Base); 183 drv_init(&storvsc_drv_obj->base);
184 184
185 drv_ctx->driver.name = storvsc_drv_obj->Base.name; 185 drv_ctx->driver.name = storvsc_drv_obj->base.name;
186 memcpy(&drv_ctx->class_id, &storvsc_drv_obj->Base.deviceType, 186 memcpy(&drv_ctx->class_id, &storvsc_drv_obj->base.deviceType,
187 sizeof(struct hv_guid)); 187 sizeof(struct hv_guid));
188 188
189 drv_ctx->probe = blkvsc_probe; 189 drv_ctx->probe = blkvsc_probe;
@@ -230,8 +230,8 @@ static void blkvsc_drv_exit(void)
230 device_unregister(current_dev); 230 device_unregister(current_dev);
231 } 231 }
232 232
233 if (storvsc_drv_obj->Base.OnCleanup) 233 if (storvsc_drv_obj->base.OnCleanup)
234 storvsc_drv_obj->Base.OnCleanup(&storvsc_drv_obj->Base); 234 storvsc_drv_obj->base.OnCleanup(&storvsc_drv_obj->base);
235 235
236 vmbus_child_driver_unregister(drv_ctx); 236 vmbus_child_driver_unregister(drv_ctx);
237 237
@@ -262,7 +262,7 @@ static int blkvsc_probe(struct device *device)
262 262
263 DPRINT_DBG(BLKVSC_DRV, "blkvsc_probe - enter"); 263 DPRINT_DBG(BLKVSC_DRV, "blkvsc_probe - enter");
264 264
265 if (!storvsc_drv_obj->Base.OnDeviceAdd) { 265 if (!storvsc_drv_obj->base.OnDeviceAdd) {
266 DPRINT_ERR(BLKVSC_DRV, "OnDeviceAdd() not set"); 266 DPRINT_ERR(BLKVSC_DRV, "OnDeviceAdd() not set");
267 ret = -1; 267 ret = -1;
268 goto Cleanup; 268 goto Cleanup;
@@ -284,7 +284,7 @@ static int blkvsc_probe(struct device *device)
284 284
285 blkdev->request_pool = kmem_cache_create(dev_name(&device_ctx->device), 285 blkdev->request_pool = kmem_cache_create(dev_name(&device_ctx->device),
286 sizeof(struct blkvsc_request) + 286 sizeof(struct blkvsc_request) +
287 storvsc_drv_obj->RequestExtSize, 0, 287 storvsc_drv_obj->request_ext_size, 0,
288 SLAB_HWCACHE_ALIGN, NULL); 288 SLAB_HWCACHE_ALIGN, NULL);
289 if (!blkdev->request_pool) { 289 if (!blkdev->request_pool) {
290 ret = -ENOMEM; 290 ret = -ENOMEM;
@@ -293,7 +293,7 @@ static int blkvsc_probe(struct device *device)
293 293
294 294
295 /* Call to the vsc driver to add the device */ 295 /* Call to the vsc driver to add the device */
296 ret = storvsc_drv_obj->Base.OnDeviceAdd(device_obj, &device_info); 296 ret = storvsc_drv_obj->base.OnDeviceAdd(device_obj, &device_info);
297 if (ret != 0) { 297 if (ret != 0) {
298 DPRINT_ERR(BLKVSC_DRV, "unable to add blkvsc device"); 298 DPRINT_ERR(BLKVSC_DRV, "unable to add blkvsc device");
299 goto Cleanup; 299 goto Cleanup;
@@ -301,9 +301,9 @@ static int blkvsc_probe(struct device *device)
301 301
302 blkdev->device_ctx = device_ctx; 302 blkdev->device_ctx = device_ctx;
303 /* this identified the device 0 or 1 */ 303 /* this identified the device 0 or 1 */
304 blkdev->target = device_info.TargetId; 304 blkdev->target = device_info.target_id;
305 /* this identified the ide ctrl 0 or 1 */ 305 /* this identified the ide ctrl 0 or 1 */
306 blkdev->path = device_info.PathId; 306 blkdev->path = device_info.path_id;
307 307
308 dev_set_drvdata(device, blkdev); 308 dev_set_drvdata(device, blkdev);
309 309
@@ -391,7 +391,7 @@ static int blkvsc_probe(struct device *device)
391 return ret; 391 return ret;
392 392
393Remove: 393Remove:
394 storvsc_drv_obj->Base.OnDeviceRemove(device_obj); 394 storvsc_drv_obj->base.OnDeviceRemove(device_obj);
395 395
396Cleanup: 396Cleanup:
397 if (blkdev) { 397 if (blkdev) {
@@ -459,9 +459,9 @@ static int blkvsc_do_flush(struct block_device_context *blkdev)
459 blkvsc_req->req = NULL; 459 blkvsc_req->req = NULL;
460 blkvsc_req->write = 0; 460 blkvsc_req->write = 0;
461 461
462 blkvsc_req->request.DataBuffer.PfnArray[0] = 0; 462 blkvsc_req->request.data_buffer.PfnArray[0] = 0;
463 blkvsc_req->request.DataBuffer.Offset = 0; 463 blkvsc_req->request.data_buffer.Offset = 0;
464 blkvsc_req->request.DataBuffer.Length = 0; 464 blkvsc_req->request.data_buffer.Length = 0;
465 465
466 blkvsc_req->cmnd[0] = SYNCHRONIZE_CACHE; 466 blkvsc_req->cmnd[0] = SYNCHRONIZE_CACHE;
467 blkvsc_req->cmd_len = 10; 467 blkvsc_req->cmd_len = 10;
@@ -506,9 +506,9 @@ static int blkvsc_do_inquiry(struct block_device_context *blkdev)
506 blkvsc_req->req = NULL; 506 blkvsc_req->req = NULL;
507 blkvsc_req->write = 0; 507 blkvsc_req->write = 0;
508 508
509 blkvsc_req->request.DataBuffer.PfnArray[0] = page_to_pfn(page_buf); 509 blkvsc_req->request.data_buffer.PfnArray[0] = page_to_pfn(page_buf);
510 blkvsc_req->request.DataBuffer.Offset = 0; 510 blkvsc_req->request.data_buffer.Offset = 0;
511 blkvsc_req->request.DataBuffer.Length = 64; 511 blkvsc_req->request.data_buffer.Length = 64;
512 512
513 blkvsc_req->cmnd[0] = INQUIRY; 513 blkvsc_req->cmnd[0] = INQUIRY;
514 blkvsc_req->cmnd[1] = 0x1; /* Get product data */ 514 blkvsc_req->cmnd[1] = 0x1; /* Get product data */
@@ -593,9 +593,9 @@ static int blkvsc_do_read_capacity(struct block_device_context *blkdev)
593 blkvsc_req->req = NULL; 593 blkvsc_req->req = NULL;
594 blkvsc_req->write = 0; 594 blkvsc_req->write = 0;
595 595
596 blkvsc_req->request.DataBuffer.PfnArray[0] = page_to_pfn(page_buf); 596 blkvsc_req->request.data_buffer.PfnArray[0] = page_to_pfn(page_buf);
597 blkvsc_req->request.DataBuffer.Offset = 0; 597 blkvsc_req->request.data_buffer.Offset = 0;
598 blkvsc_req->request.DataBuffer.Length = 8; 598 blkvsc_req->request.data_buffer.Length = 8;
599 599
600 blkvsc_req->cmnd[0] = READ_CAPACITY; 600 blkvsc_req->cmnd[0] = READ_CAPACITY;
601 blkvsc_req->cmd_len = 16; 601 blkvsc_req->cmd_len = 16;
@@ -614,7 +614,7 @@ static int blkvsc_do_read_capacity(struct block_device_context *blkdev)
614 wait_event_interruptible(blkvsc_req->wevent, blkvsc_req->cond); 614 wait_event_interruptible(blkvsc_req->wevent, blkvsc_req->cond);
615 615
616 /* check error */ 616 /* check error */
617 if (blkvsc_req->request.Status) { 617 if (blkvsc_req->request.status) {
618 scsi_normalize_sense(blkvsc_req->sense_buffer, 618 scsi_normalize_sense(blkvsc_req->sense_buffer,
619 SCSI_SENSE_BUFFERSIZE, &sense_hdr); 619 SCSI_SENSE_BUFFERSIZE, &sense_hdr);
620 620
@@ -670,9 +670,9 @@ static int blkvsc_do_read_capacity16(struct block_device_context *blkdev)
670 blkvsc_req->req = NULL; 670 blkvsc_req->req = NULL;
671 blkvsc_req->write = 0; 671 blkvsc_req->write = 0;
672 672
673 blkvsc_req->request.DataBuffer.PfnArray[0] = page_to_pfn(page_buf); 673 blkvsc_req->request.data_buffer.PfnArray[0] = page_to_pfn(page_buf);
674 blkvsc_req->request.DataBuffer.Offset = 0; 674 blkvsc_req->request.data_buffer.Offset = 0;
675 blkvsc_req->request.DataBuffer.Length = 12; 675 blkvsc_req->request.data_buffer.Length = 12;
676 676
677 blkvsc_req->cmnd[0] = 0x9E; /* READ_CAPACITY16; */ 677 blkvsc_req->cmnd[0] = 0x9E; /* READ_CAPACITY16; */
678 blkvsc_req->cmd_len = 16; 678 blkvsc_req->cmd_len = 16;
@@ -691,7 +691,7 @@ static int blkvsc_do_read_capacity16(struct block_device_context *blkdev)
691 wait_event_interruptible(blkvsc_req->wevent, blkvsc_req->cond); 691 wait_event_interruptible(blkvsc_req->wevent, blkvsc_req->cond);
692 692
693 /* check error */ 693 /* check error */
694 if (blkvsc_req->request.Status) { 694 if (blkvsc_req->request.status) {
695 scsi_normalize_sense(blkvsc_req->sense_buffer, 695 scsi_normalize_sense(blkvsc_req->sense_buffer,
696 SCSI_SENSE_BUFFERSIZE, &sense_hdr); 696 SCSI_SENSE_BUFFERSIZE, &sense_hdr);
697 if (sense_hdr.asc == 0x3A) { 697 if (sense_hdr.asc == 0x3A) {
@@ -741,14 +741,14 @@ static int blkvsc_remove(struct device *device)
741 741
742 DPRINT_DBG(BLKVSC_DRV, "blkvsc_remove()\n"); 742 DPRINT_DBG(BLKVSC_DRV, "blkvsc_remove()\n");
743 743
744 if (!storvsc_drv_obj->Base.OnDeviceRemove) 744 if (!storvsc_drv_obj->base.OnDeviceRemove)
745 return -1; 745 return -1;
746 746
747 /* 747 /*
748 * Call to the vsc driver to let it know that the device is being 748 * Call to the vsc driver to let it know that the device is being
749 * removed 749 * removed
750 */ 750 */
751 ret = storvsc_drv_obj->Base.OnDeviceRemove(device_obj); 751 ret = storvsc_drv_obj->base.OnDeviceRemove(device_obj);
752 if (ret != 0) { 752 if (ret != 0) {
753 /* TODO: */ 753 /* TODO: */
754 DPRINT_ERR(BLKVSC_DRV, 754 DPRINT_ERR(BLKVSC_DRV,
@@ -865,38 +865,38 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req,
865 (blkvsc_req->write) ? "WRITE" : "READ", 865 (blkvsc_req->write) ? "WRITE" : "READ",
866 (unsigned long) blkvsc_req->sector_start, 866 (unsigned long) blkvsc_req->sector_start,
867 blkvsc_req->sector_count, 867 blkvsc_req->sector_count,
868 blkvsc_req->request.DataBuffer.Offset, 868 blkvsc_req->request.data_buffer.Offset,
869 blkvsc_req->request.DataBuffer.Length); 869 blkvsc_req->request.data_buffer.Length);
870#if 0 870#if 0
871 for (i = 0; i < (blkvsc_req->request.DataBuffer.Length >> 12); i++) { 871 for (i = 0; i < (blkvsc_req->request.data_buffer.Length >> 12); i++) {
872 DPRINT_DBG(BLKVSC_DRV, "blkvsc_submit_request() - " 872 DPRINT_DBG(BLKVSC_DRV, "blkvsc_submit_request() - "
873 "req %p pfn[%d] %llx\n", 873 "req %p pfn[%d] %llx\n",
874 blkvsc_req, i, 874 blkvsc_req, i,
875 blkvsc_req->request.DataBuffer.PfnArray[i]); 875 blkvsc_req->request.data_buffer.PfnArray[i]);
876 } 876 }
877#endif 877#endif
878 878
879 storvsc_req = &blkvsc_req->request; 879 storvsc_req = &blkvsc_req->request;
880 storvsc_req->Extension = (void *)((unsigned long)blkvsc_req + 880 storvsc_req->extension = (void *)((unsigned long)blkvsc_req +
881 sizeof(struct blkvsc_request)); 881 sizeof(struct blkvsc_request));
882 882
883 storvsc_req->Type = blkvsc_req->write ? WRITE_TYPE : READ_TYPE; 883 storvsc_req->type = blkvsc_req->write ? WRITE_TYPE : READ_TYPE;
884 884
885 storvsc_req->OnIOCompletion = request_completion; 885 storvsc_req->on_io_completion = request_completion;
886 storvsc_req->Context = blkvsc_req; 886 storvsc_req->context = blkvsc_req;
887 887
888 storvsc_req->Host = blkdev->port; 888 storvsc_req->host = blkdev->port;
889 storvsc_req->Bus = blkdev->path; 889 storvsc_req->bus = blkdev->path;
890 storvsc_req->TargetId = blkdev->target; 890 storvsc_req->target_id = blkdev->target;
891 storvsc_req->LunId = 0; /* this is not really used at all */ 891 storvsc_req->lun_id = 0; /* this is not really used at all */
892 892
893 storvsc_req->CdbLen = blkvsc_req->cmd_len; 893 storvsc_req->cdb_len = blkvsc_req->cmd_len;
894 storvsc_req->Cdb = blkvsc_req->cmnd; 894 storvsc_req->cdb = blkvsc_req->cmnd;
895 895
896 storvsc_req->SenseBuffer = blkvsc_req->sense_buffer; 896 storvsc_req->sense_buffer = blkvsc_req->sense_buffer;
897 storvsc_req->SenseBufferSize = SCSI_SENSE_BUFFERSIZE; 897 storvsc_req->sense_buffer_size = SCSI_SENSE_BUFFERSIZE;
898 898
899 ret = storvsc_drv_obj->OnIORequest(&blkdev->device_ctx->device_obj, 899 ret = storvsc_drv_obj->on_io_request(&blkdev->device_ctx->device_obj,
900 &blkvsc_req->request); 900 &blkvsc_req->request);
901 if (ret == 0) 901 if (ret == 0)
902 blkdev->num_outstanding_reqs++; 902 blkdev->num_outstanding_reqs++;
@@ -992,8 +992,10 @@ static int blkvsc_do_request(struct block_device_context *blkdev,
992 992
993 blkvsc_req->dev = blkdev; 993 blkvsc_req->dev = blkdev;
994 blkvsc_req->req = req; 994 blkvsc_req->req = req;
995 blkvsc_req->request.DataBuffer.Offset = bvec->bv_offset; 995 blkvsc_req->request.data_buffer.Offset
996 blkvsc_req->request.DataBuffer.Length = 0; 996 = bvec->bv_offset;
997 blkvsc_req->request.data_buffer.Length
998 = 0;
997 999
998 /* Add to the group */ 1000 /* Add to the group */
999 blkvsc_req->group = group; 1001 blkvsc_req->group = group;
@@ -1007,8 +1009,11 @@ static int blkvsc_do_request(struct block_device_context *blkdev,
1007 } 1009 }
1008 1010
1009 /* Add the curr bvec/segment to the curr blkvsc_req */ 1011 /* Add the curr bvec/segment to the curr blkvsc_req */
1010 blkvsc_req->request.DataBuffer.PfnArray[databuf_idx] = page_to_pfn(bvec->bv_page); 1012 blkvsc_req->request.data_buffer.
1011 blkvsc_req->request.DataBuffer.Length += bvec->bv_len; 1013 PfnArray[databuf_idx]
1014 = page_to_pfn(bvec->bv_page);
1015 blkvsc_req->request.data_buffer.Length
1016 += bvec->bv_len;
1012 1017
1013 prev_bvec = bvec; 1018 prev_bvec = bvec;
1014 1019
@@ -1073,7 +1078,7 @@ static int blkvsc_do_request(struct block_device_context *blkdev,
1073static void blkvsc_cmd_completion(struct hv_storvsc_request *request) 1078static void blkvsc_cmd_completion(struct hv_storvsc_request *request)
1074{ 1079{
1075 struct blkvsc_request *blkvsc_req = 1080 struct blkvsc_request *blkvsc_req =
1076 (struct blkvsc_request *)request->Context; 1081 (struct blkvsc_request *)request->context;
1077 struct block_device_context *blkdev = 1082 struct block_device_context *blkdev =
1078 (struct block_device_context *)blkvsc_req->dev; 1083 (struct block_device_context *)blkvsc_req->dev;
1079 struct scsi_sense_hdr sense_hdr; 1084 struct scsi_sense_hdr sense_hdr;
@@ -1083,7 +1088,7 @@ static void blkvsc_cmd_completion(struct hv_storvsc_request *request)
1083 1088
1084 blkdev->num_outstanding_reqs--; 1089 blkdev->num_outstanding_reqs--;
1085 1090
1086 if (blkvsc_req->request.Status) 1091 if (blkvsc_req->request.status)
1087 if (scsi_normalize_sense(blkvsc_req->sense_buffer, 1092 if (scsi_normalize_sense(blkvsc_req->sense_buffer,
1088 SCSI_SENSE_BUFFERSIZE, &sense_hdr)) 1093 SCSI_SENSE_BUFFERSIZE, &sense_hdr))
1089 scsi_print_sense_hdr("blkvsc", &sense_hdr); 1094 scsi_print_sense_hdr("blkvsc", &sense_hdr);
@@ -1095,7 +1100,7 @@ static void blkvsc_cmd_completion(struct hv_storvsc_request *request)
1095static void blkvsc_request_completion(struct hv_storvsc_request *request) 1100static void blkvsc_request_completion(struct hv_storvsc_request *request)
1096{ 1101{
1097 struct blkvsc_request *blkvsc_req = 1102 struct blkvsc_request *blkvsc_req =
1098 (struct blkvsc_request *)request->Context; 1103 (struct blkvsc_request *)request->context;
1099 struct block_device_context *blkdev = 1104 struct block_device_context *blkdev =
1100 (struct block_device_context *)blkvsc_req->dev; 1105 (struct block_device_context *)blkvsc_req->dev;
1101 unsigned long flags; 1106 unsigned long flags;
@@ -1110,7 +1115,7 @@ static void blkvsc_request_completion(struct hv_storvsc_request *request)
1110 (blkvsc_req->write) ? "WRITE" : "READ", 1115 (blkvsc_req->write) ? "WRITE" : "READ",
1111 (unsigned long)blkvsc_req->sector_start, 1116 (unsigned long)blkvsc_req->sector_start,
1112 blkvsc_req->sector_count, 1117 blkvsc_req->sector_count,
1113 blkvsc_req->request.DataBuffer.Length, 1118 blkvsc_req->request.data_buffer.Length,
1114 blkvsc_req->group->outstanding, 1119 blkvsc_req->group->outstanding,
1115 blkdev->num_outstanding_reqs); 1120 blkdev->num_outstanding_reqs);
1116 1121
@@ -1137,7 +1142,7 @@ static void blkvsc_request_completion(struct hv_storvsc_request *request)
1137 list_del(&comp_req->req_entry); 1142 list_del(&comp_req->req_entry);
1138 1143
1139 if (!__blk_end_request(comp_req->req, 1144 if (!__blk_end_request(comp_req->req,
1140 (!comp_req->request.Status ? 0 : -EIO), 1145 (!comp_req->request.status ? 0 : -EIO),
1141 comp_req->sector_count * blkdev->sector_size)) { 1146 comp_req->sector_count * blkdev->sector_size)) {
1142 /* 1147 /*
1143 * All the sectors have been xferred ie the 1148 * All the sectors have been xferred ie the
@@ -1195,7 +1200,7 @@ static int blkvsc_cancel_pending_reqs(struct block_device_context *blkdev)
1195 1200
1196 if (comp_req->req) { 1201 if (comp_req->req) {
1197 ret = __blk_end_request(comp_req->req, 1202 ret = __blk_end_request(comp_req->req,
1198 (!comp_req->request.Status ? 0 : -EIO), 1203 (!comp_req->request.status ? 0 : -EIO),
1199 comp_req->sector_count * 1204 comp_req->sector_count *
1200 blkdev->sector_size); 1205 blkdev->sector_size);
1201 1206
diff --git a/drivers/staging/hv/storvsc.c b/drivers/staging/hv/storvsc.c
index 96b4ed98611..c4346c63ed5 100644
--- a/drivers/staging/hv/storvsc.c
+++ b/drivers/staging/hv/storvsc.c
@@ -370,16 +370,16 @@ static void StorVscOnIOCompletion(struct hv_device *Device,
370 /* ASSERT(request->OnIOCompletion != NULL); */ 370 /* ASSERT(request->OnIOCompletion != NULL); */
371 371
372 /* Copy over the status...etc */ 372 /* Copy over the status...etc */
373 request->Status = VStorPacket->vm_srb.scsi_status; 373 request->status = VStorPacket->vm_srb.scsi_status;
374 374
375 if (request->Status != 0 || VStorPacket->vm_srb.srb_status != 1) { 375 if (request->status != 0 || VStorPacket->vm_srb.srb_status != 1) {
376 DPRINT_WARN(STORVSC, 376 DPRINT_WARN(STORVSC,
377 "cmd 0x%x scsi status 0x%x srb status 0x%x\n", 377 "cmd 0x%x scsi status 0x%x srb status 0x%x\n",
378 request->Cdb[0], VStorPacket->vm_srb.scsi_status, 378 request->cdb[0], VStorPacket->vm_srb.scsi_status,
379 VStorPacket->vm_srb.srb_status); 379 VStorPacket->vm_srb.srb_status);
380 } 380 }
381 381
382 if ((request->Status & 0xFF) == 0x02) { 382 if ((request->status & 0xFF) == 0x02) {
383 /* CHECK_CONDITION */ 383 /* CHECK_CONDITION */
384 if (VStorPacket->vm_srb.srb_status & 0x80) { 384 if (VStorPacket->vm_srb.srb_status & 0x80) {
385 /* autosense data available */ 385 /* autosense data available */
@@ -389,19 +389,19 @@ static void StorVscOnIOCompletion(struct hv_device *Device,
389 389
390 /* ASSERT(VStorPacket->vm_srb.sense_info_length <= */ 390 /* ASSERT(VStorPacket->vm_srb.sense_info_length <= */
391 /* request->SenseBufferSize); */ 391 /* request->SenseBufferSize); */
392 memcpy(request->SenseBuffer, 392 memcpy(request->sense_buffer,
393 VStorPacket->vm_srb.sense_data, 393 VStorPacket->vm_srb.sense_data,
394 VStorPacket->vm_srb.sense_info_length); 394 VStorPacket->vm_srb.sense_info_length);
395 395
396 request->SenseBufferSize = 396 request->sense_buffer_size =
397 VStorPacket->vm_srb.sense_info_length; 397 VStorPacket->vm_srb.sense_info_length;
398 } 398 }
399 } 399 }
400 400
401 /* TODO: */ 401 /* TODO: */
402 request->BytesXfer = VStorPacket->vm_srb.data_transfer_length; 402 request->bytes_xfer = VStorPacket->vm_srb.data_transfer_length;
403 403
404 request->OnIOCompletion(request); 404 request->on_io_completion(request);
405 405
406 atomic_dec(&storDevice->NumOutstandingRequests); 406 atomic_dec(&storDevice->NumOutstandingRequests);
407 407
@@ -501,7 +501,8 @@ static int StorVscConnectToVsp(struct hv_device *Device)
501 501
502 /* Open the channel */ 502 /* Open the channel */
503 ret = vmbus_open(Device->channel, 503 ret = vmbus_open(Device->channel,
504 storDriver->RingBufferSize, storDriver->RingBufferSize, 504 storDriver->ring_buffer_size,
505 storDriver->ring_buffer_size,
505 (void *)&props, 506 (void *)&props,
506 sizeof(struct vmstorage_channel_properties), 507 sizeof(struct vmstorage_channel_properties),
507 StorVscOnChannelCallback, Device); 508 StorVscOnChannelCallback, Device);
@@ -551,13 +552,13 @@ static int StorVscOnDeviceAdd(struct hv_device *Device, void *AdditionalInfo)
551 storChannel->PathId = props->PathId; 552 storChannel->PathId = props->PathId;
552 storChannel->TargetId = props->TargetId; */ 553 storChannel->TargetId = props->TargetId; */
553 554
554 storDevice->PortNumber = deviceInfo->PortNumber; 555 storDevice->PortNumber = deviceInfo->port_number;
555 /* Send it back up */ 556 /* Send it back up */
556 ret = StorVscConnectToVsp(Device); 557 ret = StorVscConnectToVsp(Device);
557 558
558 /* deviceInfo->PortNumber = storDevice->PortNumber; */ 559 /* deviceInfo->PortNumber = storDevice->PortNumber; */
559 deviceInfo->PathId = storDevice->PathId; 560 deviceInfo->path_id = storDevice->PathId;
560 deviceInfo->TargetId = storDevice->TargetId; 561 deviceInfo->target_id = storDevice->TargetId;
561 562
562 DPRINT_DBG(STORVSC, "assigned port %u, path %u target %u\n", 563 DPRINT_DBG(STORVSC, "assigned port %u, path %u target %u\n",
563 storDevice->PortNumber, storDevice->PathId, 564 storDevice->PortNumber, storDevice->PathId,
@@ -672,7 +673,7 @@ static int StorVscOnIORequest(struct hv_device *Device,
672 int ret = 0; 673 int ret = 0;
673 674
674 requestExtension = 675 requestExtension =
675 (struct storvsc_request_extension *)Request->Extension; 676 (struct storvsc_request_extension *)Request->extension;
676 vstorPacket = &requestExtension->VStorPacket; 677 vstorPacket = &requestExtension->VStorPacket;
677 storDevice = GetStorDevice(Device); 678 storDevice = GetStorDevice(Device);
678 679
@@ -681,8 +682,8 @@ static int StorVscOnIORequest(struct hv_device *Device,
681 requestExtension); 682 requestExtension);
682 683
683 DPRINT_DBG(STORVSC, "req %p len %d bus %d, target %d, lun %d cdblen %d", 684 DPRINT_DBG(STORVSC, "req %p len %d bus %d, target %d, lun %d cdblen %d",
684 Request, Request->DataBuffer.Length, Request->Bus, 685 Request, Request->data_buffer.Length, Request->bus,
685 Request->TargetId, Request->LunId, Request->CdbLen); 686 Request->target_id, Request->lun_id, Request->cdb_len);
686 687
687 if (!storDevice) { 688 if (!storDevice) {
688 DPRINT_ERR(STORVSC, "unable to get stor device..." 689 DPRINT_ERR(STORVSC, "unable to get stor device..."
@@ -702,19 +703,19 @@ static int StorVscOnIORequest(struct hv_device *Device,
702 703
703 vstorPacket->vm_srb.length = sizeof(struct vmscsi_request); 704 vstorPacket->vm_srb.length = sizeof(struct vmscsi_request);
704 705
705 vstorPacket->vm_srb.port_number = Request->Host; 706 vstorPacket->vm_srb.port_number = Request->host;
706 vstorPacket->vm_srb.path_id = Request->Bus; 707 vstorPacket->vm_srb.path_id = Request->bus;
707 vstorPacket->vm_srb.target_id = Request->TargetId; 708 vstorPacket->vm_srb.target_id = Request->target_id;
708 vstorPacket->vm_srb.lun = Request->LunId; 709 vstorPacket->vm_srb.lun = Request->lun_id;
709 710
710 vstorPacket->vm_srb.sense_info_length = SENSE_BUFFER_SIZE; 711 vstorPacket->vm_srb.sense_info_length = SENSE_BUFFER_SIZE;
711 712
712 /* Copy over the scsi command descriptor block */ 713 /* Copy over the scsi command descriptor block */
713 vstorPacket->vm_srb.cdb_length = Request->CdbLen; 714 vstorPacket->vm_srb.cdb_length = Request->cdb_len;
714 memcpy(&vstorPacket->vm_srb.cdb, Request->Cdb, Request->CdbLen); 715 memcpy(&vstorPacket->vm_srb.cdb, Request->cdb, Request->cdb_len);
715 716
716 vstorPacket->vm_srb.data_in = Request->Type; 717 vstorPacket->vm_srb.data_in = Request->type;
717 vstorPacket->vm_srb.data_transfer_length = Request->DataBuffer.Length; 718 vstorPacket->vm_srb.data_transfer_length = Request->data_buffer.Length;
718 719
719 vstorPacket->operation = VSTOR_OPERATION_EXECUTE_SRB; 720 vstorPacket->operation = VSTOR_OPERATION_EXECUTE_SRB;
720 721
@@ -728,9 +729,9 @@ static int StorVscOnIORequest(struct hv_device *Device,
728 vstorPacket->vm_srb.sense_info_length, 729 vstorPacket->vm_srb.sense_info_length,
729 vstorPacket->vm_srb.cdb_length); 730 vstorPacket->vm_srb.cdb_length);
730 731
731 if (requestExtension->Request->DataBuffer.Length) { 732 if (requestExtension->Request->data_buffer.Length) {
732 ret = vmbus_sendpacket_multipagebuffer(Device->channel, 733 ret = vmbus_sendpacket_multipagebuffer(Device->channel,
733 &requestExtension->Request->DataBuffer, 734 &requestExtension->Request->data_buffer,
734 vstorPacket, 735 vstorPacket,
735 sizeof(struct vstor_packet), 736 sizeof(struct vstor_packet),
736 (unsigned long)requestExtension); 737 (unsigned long)requestExtension);
@@ -785,7 +786,7 @@ int StorVscInitialize(struct hv_driver *Driver)
785 memcpy(&Driver->deviceType, &gStorVscDeviceType, 786 memcpy(&Driver->deviceType, &gStorVscDeviceType,
786 sizeof(struct hv_guid)); 787 sizeof(struct hv_guid));
787 788
788 storDriver->RequestExtSize = sizeof(struct storvsc_request_extension); 789 storDriver->request_ext_size = sizeof(struct storvsc_request_extension);
789 790
790 /* 791 /*
791 * Divide the ring buffer data size (which is 1 page less 792 * Divide the ring buffer data size (which is 1 page less
@@ -793,22 +794,22 @@ int StorVscInitialize(struct hv_driver *Driver)
793 * the ring buffer indices) by the max request size (which is 794 * the ring buffer indices) by the max request size (which is
794 * vmbus_channel_packet_multipage_buffer + struct vstor_packet + u64) 795 * vmbus_channel_packet_multipage_buffer + struct vstor_packet + u64)
795 */ 796 */
796 storDriver->MaxOutstandingRequestsPerChannel = 797 storDriver->max_outstanding_req_per_channel =
797 ((storDriver->RingBufferSize - PAGE_SIZE) / 798 ((storDriver->ring_buffer_size - PAGE_SIZE) /
798 ALIGN_UP(MAX_MULTIPAGE_BUFFER_PACKET + 799 ALIGN_UP(MAX_MULTIPAGE_BUFFER_PACKET +
799 sizeof(struct vstor_packet) + sizeof(u64), 800 sizeof(struct vstor_packet) + sizeof(u64),
800 sizeof(u64))); 801 sizeof(u64)));
801 802
802 DPRINT_INFO(STORVSC, "max io %u, currently %u\n", 803 DPRINT_INFO(STORVSC, "max io %u, currently %u\n",
803 storDriver->MaxOutstandingRequestsPerChannel, 804 storDriver->max_outstanding_req_per_channel,
804 STORVSC_MAX_IO_REQUESTS); 805 STORVSC_MAX_IO_REQUESTS);
805 806
806 /* Setup the dispatch table */ 807 /* Setup the dispatch table */
807 storDriver->Base.OnDeviceAdd = StorVscOnDeviceAdd; 808 storDriver->base.OnDeviceAdd = StorVscOnDeviceAdd;
808 storDriver->Base.OnDeviceRemove = StorVscOnDeviceRemove; 809 storDriver->base.OnDeviceRemove = StorVscOnDeviceRemove;
809 storDriver->Base.OnCleanup = StorVscOnCleanup; 810 storDriver->base.OnCleanup = StorVscOnCleanup;
810 811
811 storDriver->OnIORequest = StorVscOnIORequest; 812 storDriver->on_io_request = StorVscOnIORequest;
812 813
813 return 0; 814 return 0;
814} 815}
diff --git a/drivers/staging/hv/storvsc_api.h b/drivers/staging/hv/storvsc_api.h
index 8505a1c5f9e..46f031e0afc 100644
--- a/drivers/staging/hv/storvsc_api.h
+++ b/drivers/staging/hv/storvsc_api.h
@@ -53,58 +53,58 @@ enum storvsc_request_type{
53}; 53};
54 54
55struct hv_storvsc_request { 55struct hv_storvsc_request {
56 enum storvsc_request_type Type; 56 enum storvsc_request_type type;
57 u32 Host; 57 u32 host;
58 u32 Bus; 58 u32 bus;
59 u32 TargetId; 59 u32 target_id;
60 u32 LunId; 60 u32 lun_id;
61 u8 *Cdb; 61 u8 *cdb;
62 u32 CdbLen; 62 u32 cdb_len;
63 u32 Status; 63 u32 status;
64 u32 BytesXfer; 64 u32 bytes_xfer;
65 65
66 unsigned char *SenseBuffer; 66 unsigned char *sense_buffer;
67 u32 SenseBufferSize; 67 u32 sense_buffer_size;
68 68
69 void *Context; 69 void *context;
70 70
71 void (*OnIOCompletion)(struct hv_storvsc_request *Request); 71 void (*on_io_completion)(struct hv_storvsc_request *request);
72 72
73 /* This points to the memory after DataBuffer */ 73 /* This points to the memory after DataBuffer */
74 void *Extension; 74 void *extension;
75 75
76 struct hv_multipage_buffer DataBuffer; 76 struct hv_multipage_buffer data_buffer;
77}; 77};
78 78
79/* Represents the block vsc driver */ 79/* Represents the block vsc driver */
80struct storvsc_driver_object { 80struct storvsc_driver_object {
81 /* Must be the first field */ 81 /* Must be the first field */
82 /* Which is a bug FIXME! */ 82 /* Which is a bug FIXME! */
83 struct hv_driver Base; 83 struct hv_driver base;
84 84
85 /* Set by caller (in bytes) */ 85 /* Set by caller (in bytes) */
86 u32 RingBufferSize; 86 u32 ring_buffer_size;
87 87
88 /* Allocate this much private extension for each I/O request */ 88 /* Allocate this much private extension for each I/O request */
89 u32 RequestExtSize; 89 u32 request_ext_size;
90 90
91 /* Maximum # of requests in flight per channel/device */ 91 /* Maximum # of requests in flight per channel/device */
92 u32 MaxOutstandingRequestsPerChannel; 92 u32 max_outstanding_req_per_channel;
93 93
94 /* Specific to this driver */ 94 /* Specific to this driver */
95 int (*OnIORequest)(struct hv_device *Device, 95 int (*on_io_request)(struct hv_device *device,
96 struct hv_storvsc_request *Request); 96 struct hv_storvsc_request *request);
97}; 97};
98 98
99struct storvsc_device_info { 99struct storvsc_device_info {
100 unsigned int PortNumber; 100 unsigned int port_number;
101 unsigned char PathId; 101 unsigned char path_id;
102 unsigned char TargetId; 102 unsigned char target_id;
103}; 103};
104 104
105/* Interface */ 105/* Interface */
106int StorVscInitialize(struct hv_driver *driver); 106int StorVscInitialize(struct hv_driver *driver);
107int StorVscOnHostReset(struct hv_device *Device); 107int StorVscOnHostReset(struct hv_device *device);
108int BlkVscInitialize(struct hv_driver *driver); 108int BlkVscInitialize(struct hv_driver *driver);
109 109
110#endif /* _STORVSC_API_H_ */ 110#endif /* _STORVSC_API_H_ */
diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c
index 41d9acf4cd6..68a8853fa9c 100644
--- a/drivers/staging/hv/storvsc_drv.c
+++ b/drivers/staging/hv/storvsc_drv.c
@@ -141,28 +141,28 @@ static int storvsc_drv_init(int (*drv_init)(struct hv_driver *drv))
141 struct storvsc_driver_object *storvsc_drv_obj = &g_storvsc_drv.drv_obj; 141 struct storvsc_driver_object *storvsc_drv_obj = &g_storvsc_drv.drv_obj;
142 struct driver_context *drv_ctx = &g_storvsc_drv.drv_ctx; 142 struct driver_context *drv_ctx = &g_storvsc_drv.drv_ctx;
143 143
144 storvsc_drv_obj->RingBufferSize = storvsc_ringbuffer_size; 144 storvsc_drv_obj->ring_buffer_size = storvsc_ringbuffer_size;
145 145
146 /* Callback to client driver to complete the initialization */ 146 /* Callback to client driver to complete the initialization */
147 drv_init(&storvsc_drv_obj->Base); 147 drv_init(&storvsc_drv_obj->base);
148 148
149 DPRINT_INFO(STORVSC_DRV, 149 DPRINT_INFO(STORVSC_DRV,
150 "request extension size %u, max outstanding reqs %u", 150 "request extension size %u, max outstanding reqs %u",
151 storvsc_drv_obj->RequestExtSize, 151 storvsc_drv_obj->request_ext_size,
152 storvsc_drv_obj->MaxOutstandingRequestsPerChannel); 152 storvsc_drv_obj->max_outstanding_req_per_channel);
153 153
154 if (storvsc_drv_obj->MaxOutstandingRequestsPerChannel < 154 if (storvsc_drv_obj->max_outstanding_req_per_channel <
155 STORVSC_MAX_IO_REQUESTS) { 155 STORVSC_MAX_IO_REQUESTS) {
156 DPRINT_ERR(STORVSC_DRV, 156 DPRINT_ERR(STORVSC_DRV,
157 "The number of outstanding io requests (%d) " 157 "The number of outstanding io requests (%d) "
158 "is larger than that supported (%d) internally.", 158 "is larger than that supported (%d) internally.",
159 STORVSC_MAX_IO_REQUESTS, 159 STORVSC_MAX_IO_REQUESTS,
160 storvsc_drv_obj->MaxOutstandingRequestsPerChannel); 160 storvsc_drv_obj->max_outstanding_req_per_channel);
161 return -1; 161 return -1;
162 } 162 }
163 163
164 drv_ctx->driver.name = storvsc_drv_obj->Base.name; 164 drv_ctx->driver.name = storvsc_drv_obj->base.name;
165 memcpy(&drv_ctx->class_id, &storvsc_drv_obj->Base.deviceType, 165 memcpy(&drv_ctx->class_id, &storvsc_drv_obj->base.deviceType,
166 sizeof(struct hv_guid)); 166 sizeof(struct hv_guid));
167 167
168 drv_ctx->probe = storvsc_probe; 168 drv_ctx->probe = storvsc_probe;
@@ -207,8 +207,8 @@ static void storvsc_drv_exit(void)
207 device_unregister(current_dev); 207 device_unregister(current_dev);
208 } 208 }
209 209
210 if (storvsc_drv_obj->Base.OnCleanup) 210 if (storvsc_drv_obj->base.OnCleanup)
211 storvsc_drv_obj->Base.OnCleanup(&storvsc_drv_obj->Base); 211 storvsc_drv_obj->base.OnCleanup(&storvsc_drv_obj->base);
212 212
213 vmbus_child_driver_unregister(drv_ctx); 213 vmbus_child_driver_unregister(drv_ctx);
214 return; 214 return;
@@ -232,7 +232,7 @@ static int storvsc_probe(struct device *device)
232 struct host_device_context *host_device_ctx; 232 struct host_device_context *host_device_ctx;
233 struct storvsc_device_info device_info; 233 struct storvsc_device_info device_info;
234 234
235 if (!storvsc_drv_obj->Base.OnDeviceAdd) 235 if (!storvsc_drv_obj->base.OnDeviceAdd)
236 return -1; 236 return -1;
237 237
238 host = scsi_host_alloc(&scsi_driver, 238 host = scsi_host_alloc(&scsi_driver,
@@ -253,7 +253,7 @@ static int storvsc_probe(struct device *device)
253 host_device_ctx->request_pool = 253 host_device_ctx->request_pool =
254 kmem_cache_create(dev_name(&device_ctx->device), 254 kmem_cache_create(dev_name(&device_ctx->device),
255 sizeof(struct storvsc_cmd_request) + 255 sizeof(struct storvsc_cmd_request) +
256 storvsc_drv_obj->RequestExtSize, 0, 256 storvsc_drv_obj->request_ext_size, 0,
257 SLAB_HWCACHE_ALIGN, NULL); 257 SLAB_HWCACHE_ALIGN, NULL);
258 258
259 if (!host_device_ctx->request_pool) { 259 if (!host_device_ctx->request_pool) {
@@ -261,9 +261,9 @@ static int storvsc_probe(struct device *device)
261 return -ENOMEM; 261 return -ENOMEM;
262 } 262 }
263 263
264 device_info.PortNumber = host->host_no; 264 device_info.port_number = host->host_no;
265 /* Call to the vsc driver to add the device */ 265 /* Call to the vsc driver to add the device */
266 ret = storvsc_drv_obj->Base.OnDeviceAdd(device_obj, 266 ret = storvsc_drv_obj->base.OnDeviceAdd(device_obj,
267 (void *)&device_info); 267 (void *)&device_info);
268 if (ret != 0) { 268 if (ret != 0) {
269 DPRINT_ERR(STORVSC_DRV, "unable to add scsi vsc device"); 269 DPRINT_ERR(STORVSC_DRV, "unable to add scsi vsc device");
@@ -273,8 +273,8 @@ static int storvsc_probe(struct device *device)
273 } 273 }
274 274
275 /* host_device_ctx->port = device_info.PortNumber; */ 275 /* host_device_ctx->port = device_info.PortNumber; */
276 host_device_ctx->path = device_info.PathId; 276 host_device_ctx->path = device_info.path_id;
277 host_device_ctx->target = device_info.TargetId; 277 host_device_ctx->target = device_info.target_id;
278 278
279 /* max # of devices per target */ 279 /* max # of devices per target */
280 host->max_lun = STORVSC_MAX_LUNS_PER_TARGET; 280 host->max_lun = STORVSC_MAX_LUNS_PER_TARGET;
@@ -288,7 +288,7 @@ static int storvsc_probe(struct device *device)
288 if (ret != 0) { 288 if (ret != 0) {
289 DPRINT_ERR(STORVSC_DRV, "unable to add scsi host device"); 289 DPRINT_ERR(STORVSC_DRV, "unable to add scsi host device");
290 290
291 storvsc_drv_obj->Base.OnDeviceRemove(device_obj); 291 storvsc_drv_obj->base.OnDeviceRemove(device_obj);
292 292
293 kmem_cache_destroy(host_device_ctx->request_pool); 293 kmem_cache_destroy(host_device_ctx->request_pool);
294 scsi_host_put(host); 294 scsi_host_put(host);
@@ -318,14 +318,14 @@ static int storvsc_remove(struct device *device)
318 (struct host_device_context *)host->hostdata; 318 (struct host_device_context *)host->hostdata;
319 319
320 320
321 if (!storvsc_drv_obj->Base.OnDeviceRemove) 321 if (!storvsc_drv_obj->base.OnDeviceRemove)
322 return -1; 322 return -1;
323 323
324 /* 324 /*
325 * Call to the vsc driver to let it know that the device is being 325 * Call to the vsc driver to let it know that the device is being
326 * removed 326 * removed
327 */ 327 */
328 ret = storvsc_drv_obj->Base.OnDeviceRemove(device_obj); 328 ret = storvsc_drv_obj->base.OnDeviceRemove(device_obj);
329 if (ret != 0) { 329 if (ret != 0) {
330 /* TODO: */ 330 /* TODO: */
331 DPRINT_ERR(STORVSC, "unable to remove vsc device (ret %d)", 331 DPRINT_ERR(STORVSC, "unable to remove vsc device (ret %d)",
@@ -351,7 +351,7 @@ static int storvsc_remove(struct device *device)
351static void storvsc_commmand_completion(struct hv_storvsc_request *request) 351static void storvsc_commmand_completion(struct hv_storvsc_request *request)
352{ 352{
353 struct storvsc_cmd_request *cmd_request = 353 struct storvsc_cmd_request *cmd_request =
354 (struct storvsc_cmd_request *)request->Context; 354 (struct storvsc_cmd_request *)request->context;
355 struct scsi_cmnd *scmnd = cmd_request->cmd; 355 struct scsi_cmnd *scmnd = cmd_request->cmd;
356 struct host_device_context *host_device_ctx = 356 struct host_device_context *host_device_ctx =
357 (struct host_device_context *)scmnd->device->host->hostdata; 357 (struct host_device_context *)scmnd->device->host->hostdata;
@@ -376,16 +376,17 @@ static void storvsc_commmand_completion(struct hv_storvsc_request *request)
376 cmd_request->bounce_sgl_count); 376 cmd_request->bounce_sgl_count);
377 } 377 }
378 378
379 scmnd->result = request->Status; 379 scmnd->result = request->status;
380 380
381 if (scmnd->result) { 381 if (scmnd->result) {
382 if (scsi_normalize_sense(scmnd->sense_buffer, 382 if (scsi_normalize_sense(scmnd->sense_buffer,
383 request->SenseBufferSize, &sense_hdr)) 383 request->sense_buffer_size, &sense_hdr))
384 scsi_print_sense_hdr("storvsc", &sense_hdr); 384 scsi_print_sense_hdr("storvsc", &sense_hdr);
385 } 385 }
386 386
387 /* ASSERT(request->BytesXfer <= request->DataBuffer.Length); */ 387 /* ASSERT(request->BytesXfer <= request->data_buffer.Length); */
388 scsi_set_resid(scmnd, request->DataBuffer.Length - request->BytesXfer); 388 scsi_set_resid(scmnd,
389 request->data_buffer.Length - request->bytes_xfer);
389 390
390 scsi_done_fn = scmnd->scsi_done; 391 scsi_done_fn = scmnd->scsi_done;
391 392
@@ -658,42 +659,42 @@ static int storvsc_queuecommand(struct scsi_cmnd *scmnd,
658 659
659 request = &cmd_request->request; 660 request = &cmd_request->request;
660 661
661 request->Extension = 662 request->extension =
662 (void *)((unsigned long)cmd_request + request_size); 663 (void *)((unsigned long)cmd_request + request_size);
663 DPRINT_DBG(STORVSC_DRV, "req %p size %d ext %d", request, request_size, 664 DPRINT_DBG(STORVSC_DRV, "req %p size %d ext %d", request, request_size,
664 storvsc_drv_obj->RequestExtSize); 665 storvsc_drv_obj->request_ext_size);
665 666
666 /* Build the SRB */ 667 /* Build the SRB */
667 switch (scmnd->sc_data_direction) { 668 switch (scmnd->sc_data_direction) {
668 case DMA_TO_DEVICE: 669 case DMA_TO_DEVICE:
669 request->Type = WRITE_TYPE; 670 request->type = WRITE_TYPE;
670 break; 671 break;
671 case DMA_FROM_DEVICE: 672 case DMA_FROM_DEVICE:
672 request->Type = READ_TYPE; 673 request->type = READ_TYPE;
673 break; 674 break;
674 default: 675 default:
675 request->Type = UNKNOWN_TYPE; 676 request->type = UNKNOWN_TYPE;
676 break; 677 break;
677 } 678 }
678 679
679 request->OnIOCompletion = storvsc_commmand_completion; 680 request->on_io_completion = storvsc_commmand_completion;
680 request->Context = cmd_request;/* scmnd; */ 681 request->context = cmd_request;/* scmnd; */
681 682
682 /* request->PortId = scmnd->device->channel; */ 683 /* request->PortId = scmnd->device->channel; */
683 request->Host = host_device_ctx->port; 684 request->host = host_device_ctx->port;
684 request->Bus = scmnd->device->channel; 685 request->bus = scmnd->device->channel;
685 request->TargetId = scmnd->device->id; 686 request->target_id = scmnd->device->id;
686 request->LunId = scmnd->device->lun; 687 request->lun_id = scmnd->device->lun;
687 688
688 /* ASSERT(scmnd->cmd_len <= 16); */ 689 /* ASSERT(scmnd->cmd_len <= 16); */
689 request->CdbLen = scmnd->cmd_len; 690 request->cdb_len = scmnd->cmd_len;
690 request->Cdb = scmnd->cmnd; 691 request->cdb = scmnd->cmnd;
691 692
692 request->SenseBuffer = scmnd->sense_buffer; 693 request->sense_buffer = scmnd->sense_buffer;
693 request->SenseBufferSize = SCSI_SENSE_BUFFERSIZE; 694 request->sense_buffer_size = SCSI_SENSE_BUFFERSIZE;
694 695
695 696
696 request->DataBuffer.Length = scsi_bufflen(scmnd); 697 request->data_buffer.Length = scsi_bufflen(scmnd);
697 if (scsi_sg_count(scmnd)) { 698 if (scsi_sg_count(scmnd)) {
698 sgl = (struct scatterlist *)scsi_sglist(scmnd); 699 sgl = (struct scatterlist *)scsi_sglist(scmnd);
699 sg_count = scsi_sg_count(scmnd); 700 sg_count = scsi_sg_count(scmnd);
@@ -734,25 +735,25 @@ static int storvsc_queuecommand(struct scsi_cmnd *scmnd,
734 sg_count = cmd_request->bounce_sgl_count; 735 sg_count = cmd_request->bounce_sgl_count;
735 } 736 }
736 737
737 request->DataBuffer.Offset = sgl[0].offset; 738 request->data_buffer.Offset = sgl[0].offset;
738 739
739 for (i = 0; i < sg_count; i++) { 740 for (i = 0; i < sg_count; i++) {
740 DPRINT_DBG(STORVSC_DRV, "sgl[%d] len %d offset %d\n", 741 DPRINT_DBG(STORVSC_DRV, "sgl[%d] len %d offset %d\n",
741 i, sgl[i].length, sgl[i].offset); 742 i, sgl[i].length, sgl[i].offset);
742 request->DataBuffer.PfnArray[i] = 743 request->data_buffer.PfnArray[i] =
743 page_to_pfn(sg_page((&sgl[i]))); 744 page_to_pfn(sg_page((&sgl[i])));
744 } 745 }
745 } else if (scsi_sglist(scmnd)) { 746 } else if (scsi_sglist(scmnd)) {
746 /* ASSERT(scsi_bufflen(scmnd) <= PAGE_SIZE); */ 747 /* ASSERT(scsi_bufflen(scmnd) <= PAGE_SIZE); */
747 request->DataBuffer.Offset = 748 request->data_buffer.Offset =
748 virt_to_phys(scsi_sglist(scmnd)) & (PAGE_SIZE-1); 749 virt_to_phys(scsi_sglist(scmnd)) & (PAGE_SIZE-1);
749 request->DataBuffer.PfnArray[0] = 750 request->data_buffer.PfnArray[0] =
750 virt_to_phys(scsi_sglist(scmnd)) >> PAGE_SHIFT; 751 virt_to_phys(scsi_sglist(scmnd)) >> PAGE_SHIFT;
751 } 752 }
752 753
753retry_request: 754retry_request:
754 /* Invokes the vsc to start an IO */ 755 /* Invokes the vsc to start an IO */
755 ret = storvsc_drv_obj->OnIORequest(&device_ctx->device_obj, 756 ret = storvsc_drv_obj->on_io_request(&device_ctx->device_obj,
756 &cmd_request->request); 757 &cmd_request->request);
757 if (ret == -1) { 758 if (ret == -1) {
758 /* no more space */ 759 /* no more space */