Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 248936
b: refs/heads/master
c: 12fbd41
h: refs/heads/master
v: v3
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed Apr 5, 2011
1 parent 898ffed commit 367cc13
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 93958465598f22833ee21f9aa3d79749acb7d6eb
refs/heads/master: 12fbd4164ea1fa4a4a717d72a68e48d1cc0362a3
18 changes: 11 additions & 7 deletions trunk/drivers/staging/hv/blkvsc_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ static int blkvsc_do_flush(struct block_device_context *blkdev)
if (blkdev->device_type != HARDDISK_TYPE)
return 0;

blkvsc_req = kmem_cache_alloc(blkdev->request_pool, GFP_KERNEL);
blkvsc_req = kmem_cache_zalloc(blkdev->request_pool, GFP_KERNEL);
if (!blkvsc_req)
return -ENOMEM;

Expand Down Expand Up @@ -553,7 +553,7 @@ static int blkvsc_do_inquiry(struct block_device_context *blkdev)

DPRINT_DBG(BLKVSC_DRV, "blkvsc_do_inquiry()\n");

blkvsc_req = kmem_cache_alloc(blkdev->request_pool, GFP_KERNEL);
blkvsc_req = kmem_cache_zalloc(blkdev->request_pool, GFP_KERNEL);
if (!blkvsc_req)
return -ENOMEM;

Expand Down Expand Up @@ -640,7 +640,7 @@ static int blkvsc_do_read_capacity(struct block_device_context *blkdev)
blkdev->capacity = 0;
blkdev->media_not_present = 0; /* assume a disk is present */

blkvsc_req = kmem_cache_alloc(blkdev->request_pool, GFP_KERNEL);
blkvsc_req = kmem_cache_zalloc(blkdev->request_pool, GFP_KERNEL);
if (!blkvsc_req)
return -ENOMEM;

Expand Down Expand Up @@ -717,7 +717,7 @@ static int blkvsc_do_read_capacity16(struct block_device_context *blkdev)
blkdev->capacity = 0;
blkdev->media_not_present = 0; /* assume a disk is present */

blkvsc_req = kmem_cache_alloc(blkdev->request_pool, GFP_KERNEL);
blkvsc_req = kmem_cache_zalloc(blkdev->request_pool, GFP_KERNEL);
if (!blkvsc_req)
return -ENOMEM;

Expand Down Expand Up @@ -915,6 +915,7 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req,
struct storvsc_driver_object *storvsc_drv_obj =
drv->priv;
struct hv_storvsc_request *storvsc_req;
struct vmscsi_request *vm_srb;
int ret;

DPRINT_DBG(BLKVSC_DRV, "blkvsc_submit_request() - "
Expand All @@ -935,8 +936,9 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req,
#endif

storvsc_req = &blkvsc_req->request;
vm_srb = &storvsc_req->extension.vstor_packet.vm_srb;

storvsc_req->type = blkvsc_req->write ? WRITE_TYPE : READ_TYPE;
vm_srb->data_in = blkvsc_req->write ? WRITE_TYPE : READ_TYPE;

storvsc_req->on_io_completion = request_completion;
storvsc_req->context = blkvsc_req;
Expand Down Expand Up @@ -985,7 +987,7 @@ static int blkvsc_do_request(struct block_device_context *blkdev,
(unsigned long)blk_rq_pos(req));

/* Create a group to tie req to list of blkvsc_reqs */
group = kmem_cache_alloc(blkdev->request_pool, GFP_ATOMIC);
group = kmem_cache_zalloc(blkdev->request_pool, GFP_ATOMIC);
if (!group)
return -ENOMEM;

Expand Down Expand Up @@ -1028,7 +1030,9 @@ static int blkvsc_do_request(struct block_device_context *blkdev,
* Create new blkvsc_req to represent
* the current bvec
*/
blkvsc_req = kmem_cache_alloc(blkdev->request_pool, GFP_ATOMIC);
blkvsc_req =
kmem_cache_zalloc(
blkdev->request_pool, GFP_ATOMIC);
if (!blkvsc_req) {
/* free up everything */
list_for_each_entry_safe(
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/staging/hv/storvsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -545,8 +545,6 @@ int stor_vsc_on_io_request(struct hv_device *device,
request_extension->request = request;
request_extension->device = device;

memset(vstor_packet, 0 , sizeof(struct vstor_packet));

vstor_packet->flags |= REQUEST_COMPLETION_FLAG;

vstor_packet->vm_srb.length = sizeof(struct vmscsi_request);
Expand All @@ -562,7 +560,6 @@ int stor_vsc_on_io_request(struct hv_device *device,
vstor_packet->vm_srb.cdb_length = request->cdb_len;
memcpy(&vstor_packet->vm_srb.cdb, request->cdb, request->cdb_len);

vstor_packet->vm_srb.data_in = request->type;
vstor_packet->vm_srb.data_transfer_length = request->data_buffer.len;

vstor_packet->operation = VSTOR_OPERATION_EXECUTE_SRB;
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/staging/hv/storvsc_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ struct storvsc_request_extension {
};

struct hv_storvsc_request {
enum storvsc_request_type type;
u32 host;
u32 bus;
u32 target_id;
Expand Down
8 changes: 5 additions & 3 deletions trunk/drivers/staging/hv/storvsc_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -709,6 +709,7 @@ static int storvsc_queuecommand_lck(struct scsi_cmnd *scmnd,
int i;
struct scatterlist *sgl;
unsigned int sg_count = 0;
struct vmscsi_request *vm_srb;

DPRINT_DBG(STORVSC_DRV, "scmnd %p dir %d, use_sg %d buf %p len %d "
"queue depth %d tagged %d", scmnd, scmnd->sc_data_direction,
Expand Down Expand Up @@ -752,19 +753,20 @@ static int storvsc_queuecommand_lck(struct scsi_cmnd *scmnd,
scmnd->host_scribble = (unsigned char *)cmd_request;

request = &cmd_request->request;
vm_srb = &request->extension.vstor_packet.vm_srb;

DPRINT_DBG(STORVSC_DRV, "req %p size %d", request, request_size);

/* Build the SRB */
switch (scmnd->sc_data_direction) {
case DMA_TO_DEVICE:
request->type = WRITE_TYPE;
vm_srb->data_in = WRITE_TYPE;
break;
case DMA_FROM_DEVICE:
request->type = READ_TYPE;
vm_srb->data_in = READ_TYPE;
break;
default:
request->type = UNKNOWN_TYPE;
vm_srb->data_in = UNKNOWN_TYPE;
break;
}

Expand Down

0 comments on commit 367cc13

Please sign in to comment.