On Thu, Feb 20, Stefano Stabellini wrote:
> On Thu, 6 Feb 2014, Olaf Hering wrote:
> > @@ -253,6 +254,8 @@ static int ioreq_parse(struct ioreq *ioreq)
> > case BLKIF_OP_WRITE:
> > ioreq->prot = PROT_READ; /* from memory */
> > break;
> > + case BLKIF_OP_DISCARD:
> > + return 0;
> > default:
> > xen_be_printf(&blkdev->xendev, 0, "error: unknown operation
> > (%d)\n",
> > ioreq->req.operation);
>
> Unfortunately I didn't realize before that older Xen releases don't
> define BLKIF_OP_DISCARD, therefore this patch would cause QEMU build
> failures against Xen 4.1 for example.
Would that work for you?
Olaf
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 2d5a25b..4ca03ff 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -144,6 +144,9 @@ static inline int xen_xc_hvm_inject_msi(XenXC xen_xc,
domid_t dom,
{
return -ENOSYS;
}
+#ifndef BLKIF_OP_DISCARD
+#define BLKIF_OP_DISCARD 5
+#endif
#else
static inline int xen_xc_hvm_inject_msi(XenXC xen_xc, domid_t dom,
uint64_t addr, uint32_t data)