Staging: hv: Move on_io_completion() from struct hv_storvsc_request
authorK. Y. Srinivasan <kys@microsoft.com>
Mon, 28 Mar 2011 16:33:41 +0000 (09:33 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 5 Apr 2011 04:55:11 +0000 (21:55 -0700)
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 <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/blkvsc_drv.c
drivers/staging/hv/storvsc.c
drivers/staging/hv/storvsc_api.h
drivers/staging/hv/storvsc_drv.c

index 3d061dc5609d71c44fc7f9abb5eced1fed076c65..4974db85b52144b1b8bc020cebc3c51fab41498c 100644 (file)
@@ -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;
index 33943ed951781205f7236bca401ce806657aad6d..d444cc9dfaf49a265faa947552ff4f6c6aebe3e2 100644 (file)
@@ -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);
 
index 68c5036ecdadfd1e6ec746a082d3fc77c4effb8e..89fa15508779597b247711a38bcd74e294ea94ed 100644 (file)
@@ -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;
 
index 65e03e63da325e3d5ac6adc046645aaefb9782b2..e3e0486df6dcc99382d492bef94e47ecd6657035 100644 (file)
@@ -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; */