Message ID | 1458325289-17848-7-git-send-email-kwolf@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 18 Mar 2016, Kevin Wolf wrote: > Signed-off-by: Kevin Wolf <kwolf@redhat.com> > --- > hw/block/xen_disk.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c > index 635328f..c358709 100644 > --- a/hw/block/xen_disk.c > +++ b/hw/block/xen_disk.c > @@ -888,12 +888,14 @@ static int blk_connect(struct XenDevice *xendev) > struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev); > int pers, index, qflags; > bool readonly = true; > + bool writethrough = true; > > /* read-only ? */ > if (blkdev->directiosafe) { > qflags = BDRV_O_NOCACHE | BDRV_O_NATIVE_AIO; > } else { > - qflags = BDRV_O_CACHE_WB; > + qflags = 0; You might as well initialize qflags to 0 above and leave it unchanged here. In any case: Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > + writethrough = false; > } > if (strcmp(blkdev->mode, "w") == 0) { > qflags |= BDRV_O_RDWR; > @@ -925,6 +927,7 @@ static int blk_connect(struct XenDevice *xendev) > error_free(local_err); > return -1; > } > + blk_set_enable_write_cache(blkdev->blk, !writethrough); > } else { > /* setup via qemu cmdline -> already setup for us */ > xen_be_printf(&blkdev->xendev, 2, "get configured bdrv (cmdline setup)\n"); > -- > 1.8.3.1 > >
On 18.03.2016 19:21, Kevin Wolf wrote: > Signed-off-by: Kevin Wolf <kwolf@redhat.com> > --- > hw/block/xen_disk.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) Reviewed-by: Max Reitz <mreitz@redhat.com>
diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c index 635328f..c358709 100644 --- a/hw/block/xen_disk.c +++ b/hw/block/xen_disk.c @@ -888,12 +888,14 @@ static int blk_connect(struct XenDevice *xendev) struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev); int pers, index, qflags; bool readonly = true; + bool writethrough = true; /* read-only ? */ if (blkdev->directiosafe) { qflags = BDRV_O_NOCACHE | BDRV_O_NATIVE_AIO; } else { - qflags = BDRV_O_CACHE_WB; + qflags = 0; + writethrough = false; } if (strcmp(blkdev->mode, "w") == 0) { qflags |= BDRV_O_RDWR; @@ -925,6 +927,7 @@ static int blk_connect(struct XenDevice *xendev) error_free(local_err); return -1; } + blk_set_enable_write_cache(blkdev->blk, !writethrough); } else { /* setup via qemu cmdline -> already setup for us */ xen_be_printf(&blkdev->xendev, 2, "get configured bdrv (cmdline setup)\n");
Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- hw/block/xen_disk.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)