[PATCH 13/22] Staging: hv: Get rid of the forward declaration for blkvsc_do_read_capacity()

2011-04-06 Thread K. Y. Srinivasan
Get rid of the forward declaration for blkvsc_do_read_capacity() by moving
the code around.

Signed-off-by: K. Y. Srinivasan k...@microsoft.com
Signed-off-by: Haiyang Zhang haiya...@microsoft.com
Signed-off-by: Abhishek Kane v-abk...@microsoft.com
Signed-off-by: Hank Janssen hjans...@microsoft.com
---
 drivers/staging/hv/blkvsc_drv.c |  152 +++---
 1 files changed, 76 insertions(+), 76 deletions(-)

diff --git a/drivers/staging/hv/blkvsc_drv.c b/drivers/staging/hv/blkvsc_drv.c
index 799f5ad..dedb5a36 100644
--- a/drivers/staging/hv/blkvsc_drv.c
+++ b/drivers/staging/hv/blkvsc_drv.c
@@ -701,6 +701,82 @@ static int blkvsc_release(struct gendisk *disk, fmode_t 
mode)
return 0;
 }
 
+
+/* Do a scsi READ_CAPACITY cmd here to get the size of the disk */
+static int blkvsc_do_read_capacity(struct block_device_context *blkdev)
+{
+   struct blkvsc_request *blkvsc_req;
+   struct page *page_buf;
+   unsigned char *buf;
+   struct scsi_sense_hdr sense_hdr;
+   struct vmscsi_request *vm_srb;
+
+   DPRINT_DBG(BLKVSC_DRV, blkvsc_do_read_capacity()\n);
+
+   blkdev-sector_size = 0;
+   blkdev-capacity = 0;
+   blkdev-media_not_present = 0; /* assume a disk is present */
+
+   blkvsc_req = kmem_cache_zalloc(blkdev-request_pool, GFP_KERNEL);
+   if (!blkvsc_req)
+   return -ENOMEM;
+
+   memset(blkvsc_req, 0, sizeof(struct blkvsc_request));
+   page_buf = alloc_page(GFP_KERNEL);
+   if (!page_buf) {
+   kmem_cache_free(blkvsc_req-dev-request_pool, blkvsc_req);
+   return -ENOMEM;
+   }
+
+   vm_srb = blkvsc_req-request.vstor_packet.vm_srb;
+   init_completion(blkvsc_req-request.wait_event);
+   blkvsc_req-dev = blkdev;
+   blkvsc_req-req = NULL;
+   blkvsc_req-write = 0;
+
+   blkvsc_req-request.data_buffer.pfn_array[0] =
+   page_to_pfn(page_buf);
+   blkvsc_req-request.data_buffer.offset = 0;
+   blkvsc_req-request.data_buffer.len = 8;
+
+   blkvsc_req-cmnd[0] = READ_CAPACITY;
+   blkvsc_req-cmd_len = 16;
+
+   blkvsc_submit_request(blkvsc_req, blkvsc_cmd_completion);
+
+   DPRINT_DBG(BLKVSC_DRV, waiting %p to complete\n,
+  blkvsc_req);
+
+   wait_for_completion_interruptible(blkvsc_req-request.wait_event);
+
+   /* check error */
+   if (vm_srb-scsi_status) {
+   scsi_normalize_sense(blkvsc_req-sense_buffer,
+SCSI_SENSE_BUFFERSIZE, sense_hdr);
+
+   if (sense_hdr.asc == 0x3A) {
+   /* Medium not present */
+   blkdev-media_not_present = 1;
+   }
+   return 0;
+   }
+   buf = kmap(page_buf);
+
+   /* be to le */
+   blkdev-capacity = ((buf[0]  24) | (buf[1]  16) |
+   (buf[2]  8) | buf[3]) + 1;
+   blkdev-sector_size = (buf[4]  24) | (buf[5]  16) |
+ (buf[6]  8) | buf[7];
+
+   kunmap(page_buf);
+
+   __free_page(page_buf);
+
+   kmem_cache_free(blkvsc_req-dev-request_pool, blkvsc_req);
+
+   return 0;
+}
+
 /* Static decl */
 static int blkvsc_probe(struct device *dev);
 static int blkvsc_revalidate_disk(struct gendisk *gd);
@@ -709,7 +785,6 @@ static void blkvsc_request_completion(struct 
hv_storvsc_request *request);
 static int blkvsc_do_request(struct block_device_context *blkdev,
 struct request *req);
 static int blkvsc_do_inquiry(struct block_device_context *blkdev);
-static int blkvsc_do_read_capacity(struct block_device_context *blkdev);
 static int blkvsc_do_read_capacity16(struct block_device_context *blkdev);
 static int blkvsc_do_pending_reqs(struct block_device_context *blkdev);
 
@@ -1044,81 +1119,6 @@ static int blkvsc_do_inquiry(struct block_device_context 
*blkdev)
return 0;
 }
 
-/* Do a scsi READ_CAPACITY cmd here to get the size of the disk */
-static int blkvsc_do_read_capacity(struct block_device_context *blkdev)
-{
-   struct blkvsc_request *blkvsc_req;
-   struct page *page_buf;
-   unsigned char *buf;
-   struct scsi_sense_hdr sense_hdr;
-   struct vmscsi_request *vm_srb;
-
-   DPRINT_DBG(BLKVSC_DRV, blkvsc_do_read_capacity()\n);
-
-   blkdev-sector_size = 0;
-   blkdev-capacity = 0;
-   blkdev-media_not_present = 0; /* assume a disk is present */
-
-   blkvsc_req = kmem_cache_zalloc(blkdev-request_pool, GFP_KERNEL);
-   if (!blkvsc_req)
-   return -ENOMEM;
-
-   memset(blkvsc_req, 0, sizeof(struct blkvsc_request));
-   page_buf = alloc_page(GFP_KERNEL);
-   if (!page_buf) {
-   kmem_cache_free(blkvsc_req-dev-request_pool, blkvsc_req);
-   return -ENOMEM;
-   }
-
-   vm_srb = blkvsc_req-request.vstor_packet.vm_srb;
-   init_completion(blkvsc_req-request.wait_event);
-   blkvsc_req-dev = blkdev;
-   blkvsc_req-req = NULL;
- 

[PATCH 13/22] Staging: hv: Get rid of the forward declaration for blkvsc_do_read_capacity()

2011-03-28 Thread K. Y. Srinivasan
Get rid of the forward declaration for blkvsc_do_read_capacity() by moving
the code around.

Signed-off-by: K. Y. Srinivasan k...@microsoft.com
Signed-off-by: Haiyang Zhang haiya...@microsoft.com
Signed-off-by: Abhishek Kane v-abk...@microsoft.com
Signed-off-by: Hank Janssen hjans...@microsoft.com
---
 drivers/staging/hv/blkvsc_drv.c |  152 +++---
 1 files changed, 76 insertions(+), 76 deletions(-)

diff --git a/drivers/staging/hv/blkvsc_drv.c b/drivers/staging/hv/blkvsc_drv.c
index 720d54b..b93c8b7 100644
--- a/drivers/staging/hv/blkvsc_drv.c
+++ b/drivers/staging/hv/blkvsc_drv.c
@@ -698,6 +698,82 @@ static int blkvsc_release(struct gendisk *disk, fmode_t 
mode)
return 0;
 }
 
+
+/* Do a scsi READ_CAPACITY cmd here to get the size of the disk */
+static int blkvsc_do_read_capacity(struct block_device_context *blkdev)
+{
+   struct blkvsc_request *blkvsc_req;
+   struct page *page_buf;
+   unsigned char *buf;
+   struct scsi_sense_hdr sense_hdr;
+   struct vmscsi_request *vm_srb;
+
+   DPRINT_DBG(BLKVSC_DRV, blkvsc_do_read_capacity()\n);
+
+   blkdev-sector_size = 0;
+   blkdev-capacity = 0;
+   blkdev-media_not_present = 0; /* assume a disk is present */
+
+   blkvsc_req = kmem_cache_zalloc(blkdev-request_pool, GFP_KERNEL);
+   if (!blkvsc_req)
+   return -ENOMEM;
+
+   memset(blkvsc_req, 0, sizeof(struct blkvsc_request));
+   page_buf = alloc_page(GFP_KERNEL);
+   if (!page_buf) {
+   kmem_cache_free(blkvsc_req-dev-request_pool, blkvsc_req);
+   return -ENOMEM;
+   }
+
+   vm_srb = blkvsc_req-request.vstor_packet.vm_srb;
+   init_completion(blkvsc_req-request.wait_event);
+   blkvsc_req-dev = blkdev;
+   blkvsc_req-req = NULL;
+   blkvsc_req-write = 0;
+
+   blkvsc_req-request.data_buffer.pfn_array[0] =
+   page_to_pfn(page_buf);
+   blkvsc_req-request.data_buffer.offset = 0;
+   blkvsc_req-request.data_buffer.len = 8;
+
+   blkvsc_req-cmnd[0] = READ_CAPACITY;
+   blkvsc_req-cmd_len = 16;
+
+   blkvsc_submit_request(blkvsc_req, blkvsc_cmd_completion);
+
+   DPRINT_DBG(BLKVSC_DRV, waiting %p to complete\n,
+  blkvsc_req);
+
+   wait_for_completion_interruptible(blkvsc_req-request.wait_event);
+
+   /* check error */
+   if (vm_srb-scsi_status) {
+   scsi_normalize_sense(blkvsc_req-sense_buffer,
+SCSI_SENSE_BUFFERSIZE, sense_hdr);
+
+   if (sense_hdr.asc == 0x3A) {
+   /* Medium not present */
+   blkdev-media_not_present = 1;
+   }
+   return 0;
+   }
+   buf = kmap(page_buf);
+
+   /* be to le */
+   blkdev-capacity = ((buf[0]  24) | (buf[1]  16) |
+   (buf[2]  8) | buf[3]) + 1;
+   blkdev-sector_size = (buf[4]  24) | (buf[5]  16) |
+ (buf[6]  8) | buf[7];
+
+   kunmap(page_buf);
+
+   __free_page(page_buf);
+
+   kmem_cache_free(blkvsc_req-dev-request_pool, blkvsc_req);
+
+   return 0;
+}
+
 /* Static decl */
 static int blkvsc_probe(struct device *dev);
 static int blkvsc_revalidate_disk(struct gendisk *gd);
@@ -706,7 +782,6 @@ static void blkvsc_request_completion(struct 
hv_storvsc_request *request);
 static int blkvsc_do_request(struct block_device_context *blkdev,
 struct request *req);
 static int blkvsc_do_inquiry(struct block_device_context *blkdev);
-static int blkvsc_do_read_capacity(struct block_device_context *blkdev);
 static int blkvsc_do_read_capacity16(struct block_device_context *blkdev);
 static int blkvsc_do_pending_reqs(struct block_device_context *blkdev);
 
@@ -1040,81 +1115,6 @@ static int blkvsc_do_inquiry(struct block_device_context 
*blkdev)
return 0;
 }
 
-/* Do a scsi READ_CAPACITY cmd here to get the size of the disk */
-static int blkvsc_do_read_capacity(struct block_device_context *blkdev)
-{
-   struct blkvsc_request *blkvsc_req;
-   struct page *page_buf;
-   unsigned char *buf;
-   struct scsi_sense_hdr sense_hdr;
-   struct vmscsi_request *vm_srb;
-
-   DPRINT_DBG(BLKVSC_DRV, blkvsc_do_read_capacity()\n);
-
-   blkdev-sector_size = 0;
-   blkdev-capacity = 0;
-   blkdev-media_not_present = 0; /* assume a disk is present */
-
-   blkvsc_req = kmem_cache_zalloc(blkdev-request_pool, GFP_KERNEL);
-   if (!blkvsc_req)
-   return -ENOMEM;
-
-   memset(blkvsc_req, 0, sizeof(struct blkvsc_request));
-   page_buf = alloc_page(GFP_KERNEL);
-   if (!page_buf) {
-   kmem_cache_free(blkvsc_req-dev-request_pool, blkvsc_req);
-   return -ENOMEM;
-   }
-
-   vm_srb = blkvsc_req-request.vstor_packet.vm_srb;
-   init_completion(blkvsc_req-request.wait_event);
-   blkvsc_req-dev = blkdev;
-   blkvsc_req-req = NULL;
-