|
@@ -407,6 +407,33 @@ static void blkvsc_init_rw(struct blkvsc_request *blkvsc_req)
|
|
|
}
|
|
|
|
|
|
|
|
|
+static int blkvsc_ioctl(struct block_device *bd, fmode_t mode,
|
|
|
+ unsigned cmd, unsigned long argument)
|
|
|
+{
|
|
|
+/* struct block_device_context *blkdev = bd->bd_disk->private_data; */
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ switch (cmd) {
|
|
|
+ /*
|
|
|
+ * TODO: I think there is certain format for HDIO_GET_IDENTITY rather
|
|
|
+ * than just a GUID. Commented it out for now.
|
|
|
+ */
|
|
|
+#if 0
|
|
|
+ case HDIO_GET_IDENTITY:
|
|
|
+ DPRINT_INFO(BLKVSC_DRV, "HDIO_GET_IDENTITY\n");
|
|
|
+ if (copy_to_user((void __user *)arg, blkdev->device_id,
|
|
|
+ blkdev->device_id_len))
|
|
|
+ ret = -EFAULT;
|
|
|
+ break;
|
|
|
+#endif
|
|
|
+ default:
|
|
|
+ ret = -EINVAL;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+
|
|
|
/* Static decl */
|
|
|
static int blkvsc_probe(struct device *dev);
|
|
|
static int blkvsc_remove(struct device *device);
|
|
@@ -414,8 +441,6 @@ static void blkvsc_shutdown(struct device *device);
|
|
|
|
|
|
static int blkvsc_release(struct gendisk *disk, fmode_t mode);
|
|
|
static int blkvsc_revalidate_disk(struct gendisk *gd);
|
|
|
-static int blkvsc_ioctl(struct block_device *bd, fmode_t mode,
|
|
|
- unsigned cmd, unsigned long argument);
|
|
|
static void blkvsc_request(struct request_queue *queue);
|
|
|
static void blkvsc_request_completion(struct hv_storvsc_request *request);
|
|
|
static int blkvsc_do_request(struct block_device_context *blkdev,
|
|
@@ -1499,33 +1524,6 @@ static int blkvsc_revalidate_disk(struct gendisk *gd)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int blkvsc_ioctl(struct block_device *bd, fmode_t mode,
|
|
|
- unsigned cmd, unsigned long argument)
|
|
|
-{
|
|
|
-/* struct block_device_context *blkdev = bd->bd_disk->private_data; */
|
|
|
- int ret;
|
|
|
-
|
|
|
- switch (cmd) {
|
|
|
- /*
|
|
|
- * TODO: I think there is certain format for HDIO_GET_IDENTITY rather
|
|
|
- * than just a GUID. Commented it out for now.
|
|
|
- */
|
|
|
-#if 0
|
|
|
- case HDIO_GET_IDENTITY:
|
|
|
- DPRINT_INFO(BLKVSC_DRV, "HDIO_GET_IDENTITY\n");
|
|
|
- if (copy_to_user((void __user *)arg, blkdev->device_id,
|
|
|
- blkdev->device_id_len))
|
|
|
- ret = -EFAULT;
|
|
|
- break;
|
|
|
-#endif
|
|
|
- default:
|
|
|
- ret = -EINVAL;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- return ret;
|
|
|
-}
|
|
|
-
|
|
|
static int __init blkvsc_init(void)
|
|
|
{
|
|
|
int ret;
|