diff --git a/patches.xen/pvops-blkfront-eject-support.patch b/patches.xen/pvops-blkfront-eject-support.patch new file mode 100644 index 0000000..e149ba9 --- /dev/null +++ b/patches.xen/pvops-blkfront-eject-support.patch @@ -0,0 +1,20 @@ +--- linux-3.4.1.orig/drivers/block/xen-blkfront.c 2012-06-01 09:18:44.000000000 +0200 ++++ linux-3.4.1/drivers/block/xen-blkfront.c 2012-07-15 15:54:31.350255623 +0200 +@@ -44,6 +44,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -241,6 +264,9 @@ + return 0; + return -EINVAL; + } ++ case FDEJECT: ++ xenbus_switch_state(info->xbdev, XenbusStateClosing); ++ return 0; + + default: + /*printk(KERN_ALERT "ioctl %08x not supported by Xen blkdev\n", diff --git a/patches.xen/pvops-blkfront-removable-flag.patch b/patches.xen/pvops-blkfront-removable-flag.patch new file mode 100644 index 0000000..633f708 --- /dev/null +++ b/patches.xen/pvops-blkfront-removable-flag.patch @@ -0,0 +1,26 @@ +diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c +index 4e86393..34493d7 100644 +--- a/drivers/block/xen-blkfront.c ++++ b/drivers/block/xen-blkfront.c +@@ -1188,7 +1188,7 @@ static void blkfront_connect(struct blkfront_info *info) + unsigned long sector_size; + unsigned int binfo; + int err; +- int barrier, flush, discard; ++ int barrier, flush, discard, removable; + + switch (info->connected) { + case BLKIF_STATE_CONNECTED: +@@ -1266,6 +1266,12 @@ static void blkfront_connect(struct blkfront_info *info) + if (!err && discard) + blkfront_setup_discard(info); + ++ err = xenbus_gather(XBT_NIL, info->xbdev->otherend, ++ "removable", "%d", &removable, ++ NULL); ++ if (!err && removable) ++ binfo |= VDISK_REMOVABLE; ++ + err = xlvbd_alloc_gendisk(sectors, info, binfo, sector_size); + if (err) { + xenbus_dev_fatal(info->xbdev, err, "xlvbd_add at %s", diff --git a/series-pvops.conf b/series-pvops.conf index 61beb0a..4c9a6cf 100644 --- a/series-pvops.conf +++ b/series-pvops.conf @@ -11,3 +11,5 @@ patches.xen/pvops-0010-CPUFREQ-xen-governor-for-Xen-hypervisor-frequency-sc.patc patches.xen/pvops-0011-x86-PCI-Expand-the-x86_msi_ops-to-have-a-restore-MSI.patch patches.xen/pvops-enable-netfront-in-dom0.patch patches.xen/pvops-netback-calculate-correctly-the-SKB-slots.patch +patches.xen/pvops-blkfront-removable-flag.patch +patches.xen/pvops-blkfront-eject-support.patch