From: K. Y. Srinivasan Date: Mon, 28 Mar 2011 16:33:41 +0000 (-0700) Subject: Staging: hv: Move on_io_completion() from struct hv_storvsc_request X-Git-Tag: v3.0-rc1~336^2~928 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0bb71127060b1abb76e8864d45f9be9e9fb2882d;p=karo-tx-linux.git Staging: hv: Move on_io_completion() from struct hv_storvsc_request In preparation of consolidating all I/O request state, move the on_io_completion() field from struct hv_storvsc_request to struct storvsc_request_extension. Signed-off-by: K. Y. Srinivasan Signed-off-by: Haiyang Zhang Signed-off-by: Abhishek Kane Signed-off-by: Hank Janssen Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/hv/blkvsc_drv.c b/drivers/staging/hv/blkvsc_drv.c index 3d061dc5609d..4974db85b521 100644 --- a/drivers/staging/hv/blkvsc_drv.c +++ b/drivers/staging/hv/blkvsc_drv.c @@ -940,7 +940,7 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req, vm_srb->data_in = blkvsc_req->write ? WRITE_TYPE : READ_TYPE; - storvsc_req->on_io_completion = request_completion; + storvsc_req->extension.on_io_completion = request_completion; storvsc_req->extension.context = blkvsc_req; vm_srb->port_number = blkdev->port; diff --git a/drivers/staging/hv/storvsc.c b/drivers/staging/hv/storvsc.c index 33943ed95178..d444cc9dfaf4 100644 --- a/drivers/staging/hv/storvsc.c +++ b/drivers/staging/hv/storvsc.c @@ -324,7 +324,7 @@ static void stor_vsc_on_io_completion(struct hv_device *device, /* TODO: */ request->bytes_xfer = vstor_packet->vm_srb.data_transfer_length; - request->on_io_completion(request); + request->extension.on_io_completion(request); atomic_dec(&stor_device->num_outstanding_req); diff --git a/drivers/staging/hv/storvsc_api.h b/drivers/staging/hv/storvsc_api.h index 68c5036ecdad..89fa15508779 100644 --- a/drivers/staging/hv/storvsc_api.h +++ b/drivers/staging/hv/storvsc_api.h @@ -64,6 +64,7 @@ struct storvsc_request_extension { unsigned char *sense_buffer; void *context; + void (*on_io_completion)(struct hv_storvsc_request *request); struct vstor_packet vstor_packet; }; @@ -72,7 +73,6 @@ struct hv_storvsc_request { u32 status; u32 bytes_xfer; - void (*on_io_completion)(struct hv_storvsc_request *request); struct storvsc_request_extension extension; diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c index 65e03e63da32..e3e0486df6dc 100644 --- a/drivers/staging/hv/storvsc_drv.c +++ b/drivers/staging/hv/storvsc_drv.c @@ -770,7 +770,7 @@ static int storvsc_queuecommand_lck(struct scsi_cmnd *scmnd, break; } - request->on_io_completion = storvsc_commmand_completion; + request->extension.on_io_completion = storvsc_commmand_completion; request->extension.context = cmd_request;/* scmnd; */ /* request->PortId = scmnd->device->channel; */