blktap: Remove passthrough mode.
Signed-off-by: Jake Wires <jake.wires@xxxxxxxxxx>
Signed-off-by: Daniel Stodden <daniel.stodden@xxxxxxxxxx>
diff -r 152ee0de9646 -r cc3749a5f7e9 drivers/xen/blktap/blktap.h
--- a/drivers/xen/blktap/blktap.h Wed Jun 02 19:45:25 2010 -0700
+++ b/drivers/xen/blktap/blktap.h Wed Jun 02 19:45:25 2010 -0700
@@ -9,8 +9,6 @@
#include <xen/blkif.h>
#include <xen/grant_table.h>
-//#define ENABLE_PASSTHROUGH
-
extern int blktap_debug_level;
#define BTPRINTK(level, tag, force, _f, _a...) \
diff -r 152ee0de9646 -r cc3749a5f7e9 drivers/xen/blktap/device.c
--- a/drivers/xen/blktap/device.c Wed Jun 02 19:45:25 2010 -0700
+++ b/drivers/xen/blktap/device.c Wed Jun 02 19:45:25 2010 -0700
@@ -646,98 +646,6 @@
return err;
}
-#ifdef ENABLE_PASSTHROUGH
-#define rq_for_each_bio_safe(_bio, _tmp, _req) \
- if ((_req)->bio) \
- for (_bio = (_req)->bio; \
- _bio && ((_tmp = _bio->bi_next) || 1); \
- _bio = _tmp)
-
-static void
-blktap_device_forward_request(struct blktap *tap, struct request *req)
-{
- struct bio *bio, *tmp;
- struct blktap_device *dev;
-
- dev = &tap->device;
-
- rq_for_each_bio_safe(bio, tmp, req) {
- bio->bi_bdev = dev->bdev;
- submit_bio(bio->bi_rw, bio);
- }
-}
-
-static void
-blktap_device_close_bdev(struct blktap *tap)
-{
- struct blktap_device *dev;
-
- dev = &tap->device;
-
- if (dev->bdev)
- blkdev_put(dev->bdev);
-
- dev->bdev = NULL;
- clear_bit(BLKTAP_PASSTHROUGH, &tap->dev_inuse);
-}
-
-static int
-blktap_device_open_bdev(struct blktap *tap, u32 pdev)
-{
- struct block_device *bdev;
- struct blktap_device *dev;
-
- dev = &tap->device;
-
- bdev = open_by_devnum(pdev, FMODE_WRITE);
- if (IS_ERR(bdev)) {
- BTERR("opening device %x:%x failed: %ld\n",
- MAJOR(pdev), MINOR(pdev), PTR_ERR(bdev));
- return PTR_ERR(bdev);
- }
-
- if (!bdev->bd_disk) {
- BTERR("device %x:%x doesn't exist\n",
- MAJOR(pdev), MINOR(pdev));
- blkdev_put(dev->bdev);
- return -ENOENT;
- }
-
- dev->bdev = bdev;
- set_bit(BLKTAP_PASSTHROUGH, &tap->dev_inuse);
-
- /* TODO: readjust queue parameters */
-
- BTINFO("set device %d to passthrough on %x:%x\n",
- tap->minor, MAJOR(pdev), MINOR(pdev));
-
- return 0;
-}
-
-int
-blktap_device_enable_passthrough(struct blktap *tap,
- unsigned major, unsigned minor)
-{
- u32 pdev;
- struct blktap_device *dev;
-
- dev = &tap->device;
- pdev = MKDEV(major, minor);
-
- if (!test_bit(BLKTAP_PAUSED, &tap->dev_inuse))
- return -EINVAL;
-
- if (dev->bdev) {
- if (pdev)
- return -EINVAL;
- blktap_device_close_bdev(tap);
- return 0;
- }
-
- return blktap_device_open_bdev(tap, pdev);
-}
-#endif
-
/*
* called from tapdisk context
*/
@@ -769,14 +677,6 @@
continue;
}
-#ifdef ENABLE_PASSTHROUGH
- if (test_bit(BLKTAP_PASSTHROUGH, &tap->dev_inuse)) {
- blkdev_dequeue_request(req);
- blktap_device_forward_request(tap, req);
- continue;
- }
-#endif
-
if (RING_FULL(&ring->ring)) {
wait:
/* Avoid pointless unplugs. */
@@ -927,11 +827,6 @@
dev->gd = NULL;
spin_unlock_irq(&dev->lock);
-#ifdef ENABLE_PASSTHROUGH
- if (dev->bdev)
- blktap_device_close_bdev(tap);
-#endif
-
del_gendisk(gd);
blk_cleanup_queue(gd->queue);
put_disk(gd);
diff -r 152ee0de9646 -r cc3749a5f7e9 drivers/xen/blktap/sysfs.c
--- a/drivers/xen/blktap/sysfs.c Wed Jun 02 19:45:25 2010 -0700
+++ b/drivers/xen/blktap/sysfs.c Wed Jun 02 19:45:25 2010 -0700
@@ -114,50 +114,6 @@
}
CLASS_DEVICE_ATTR(remove, S_IWUSR, NULL, blktap_sysfs_remove_device);
-#ifdef ENABLE_PASSTHROUGH
-static ssize_t
-blktap_sysfs_enable_passthrough(struct device *dev,
- const char *buf, size_t size)
-{
- int err;
- unsigned major, minor;
- struct blktap *tap = (struct blktap *)dev_get_drvdata(dev);
-
- BTINFO("passthrough request enabled\n");
-
- blktap_sysfs_enter(tap);
-
- if (!tap->ring.dev ||
- test_bit(BLKTAP_SHUTDOWN_REQUESTED, &tap->dev_inuse)) {
- err = -ENODEV;
- goto out;
- }
-
- if (!test_bit(BLKTAP_PAUSED, &tap->dev_inuse)) {
- err = -EINVAL;
- goto out;
- }
-
- if (test_bit(BLKTAP_PASSTHROUGH, &tap->dev_inuse)) {
- err = -EINVAL;
- goto out;
- }
-
- err = sscanf(buf, "%x:%x", &major, &minor);
- if (err != 2) {
- err = -EINVAL;
- goto out;
- }
-
- err = blktap_device_enable_passthrough(tap, major, minor);
-
-out:
- blktap_sysfs_exit(tap);
- BTDBG("returning %d\n", (err ? err : size));
- return (err ? err : size);
-}
-#endif
-
static ssize_t
blktap_sysfs_debug_device(struct device *dev, struct device_attribute *attr,
char *buf)
{
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|