Commit efb5a663 authored by K. Y. Srinivasan's avatar K. Y. Srinivasan Committed by Greg Kroah-Hartman

Staging: hv: Move the context field from struct hv_storvsc_request

In preparation of consolidating all I/O request state, move
the context field from struct hv_storvsc_request to
struct storvsc_request_extension.
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarAbhishek Kane <v-abkane@microsoft.com>
Signed-off-by: default avatarHank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 237ecd6d
...@@ -941,7 +941,7 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req, ...@@ -941,7 +941,7 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req,
vm_srb->data_in = 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->on_io_completion = request_completion;
storvsc_req->context = blkvsc_req; storvsc_req->extension.context = blkvsc_req;
vm_srb->port_number = blkdev->port; vm_srb->port_number = blkdev->port;
vm_srb->path_id = blkdev->path; vm_srb->path_id = blkdev->path;
...@@ -1138,7 +1138,7 @@ static int blkvsc_do_request(struct block_device_context *blkdev, ...@@ -1138,7 +1138,7 @@ static int blkvsc_do_request(struct block_device_context *blkdev,
static void blkvsc_cmd_completion(struct hv_storvsc_request *request) static void blkvsc_cmd_completion(struct hv_storvsc_request *request)
{ {
struct blkvsc_request *blkvsc_req = struct blkvsc_request *blkvsc_req =
(struct blkvsc_request *)request->context; (struct blkvsc_request *)request->extension.context;
struct block_device_context *blkdev = struct block_device_context *blkdev =
(struct block_device_context *)blkvsc_req->dev; (struct block_device_context *)blkvsc_req->dev;
struct scsi_sense_hdr sense_hdr; struct scsi_sense_hdr sense_hdr;
...@@ -1160,7 +1160,7 @@ static void blkvsc_cmd_completion(struct hv_storvsc_request *request) ...@@ -1160,7 +1160,7 @@ static void blkvsc_cmd_completion(struct hv_storvsc_request *request)
static void blkvsc_request_completion(struct hv_storvsc_request *request) static void blkvsc_request_completion(struct hv_storvsc_request *request)
{ {
struct blkvsc_request *blkvsc_req = struct blkvsc_request *blkvsc_req =
(struct blkvsc_request *)request->context; (struct blkvsc_request *)request->extension.context;
struct block_device_context *blkdev = struct block_device_context *blkdev =
(struct block_device_context *)blkvsc_req->dev; (struct block_device_context *)blkvsc_req->dev;
unsigned long flags; unsigned long flags;
......
...@@ -63,6 +63,7 @@ struct storvsc_request_extension { ...@@ -63,6 +63,7 @@ struct storvsc_request_extension {
struct completion wait_event; struct completion wait_event;
unsigned char *sense_buffer; unsigned char *sense_buffer;
void *context;
struct vstor_packet vstor_packet; struct vstor_packet vstor_packet;
}; };
...@@ -71,8 +72,6 @@ struct hv_storvsc_request { ...@@ -71,8 +72,6 @@ struct hv_storvsc_request {
u32 status; u32 status;
u32 bytes_xfer; u32 bytes_xfer;
void *context;
void (*on_io_completion)(struct hv_storvsc_request *request); void (*on_io_completion)(struct hv_storvsc_request *request);
struct storvsc_request_extension extension; struct storvsc_request_extension extension;
......
...@@ -448,7 +448,7 @@ static int storvsc_remove(struct device *device) ...@@ -448,7 +448,7 @@ static int storvsc_remove(struct device *device)
static void storvsc_commmand_completion(struct hv_storvsc_request *request) static void storvsc_commmand_completion(struct hv_storvsc_request *request)
{ {
struct storvsc_cmd_request *cmd_request = struct storvsc_cmd_request *cmd_request =
(struct storvsc_cmd_request *)request->context; (struct storvsc_cmd_request *)request->extension.context;
struct scsi_cmnd *scmnd = cmd_request->cmd; struct scsi_cmnd *scmnd = cmd_request->cmd;
struct host_device_context *host_device_ctx = struct host_device_context *host_device_ctx =
(struct host_device_context *)scmnd->device->host->hostdata; (struct host_device_context *)scmnd->device->host->hostdata;
...@@ -771,7 +771,7 @@ static int storvsc_queuecommand_lck(struct scsi_cmnd *scmnd, ...@@ -771,7 +771,7 @@ static int storvsc_queuecommand_lck(struct scsi_cmnd *scmnd,
} }
request->on_io_completion = storvsc_commmand_completion; request->on_io_completion = storvsc_commmand_completion;
request->context = cmd_request;/* scmnd; */ request->extension.context = cmd_request;/* scmnd; */
/* request->PortId = scmnd->device->channel; */ /* request->PortId = scmnd->device->channel; */
vm_srb->port_number = host_device_ctx->port; vm_srb->port_number = host_device_ctx->port;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment