|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] introduce a cache options for PV disks
On Thu, 27 Jun 2013, Stefano Stabellini wrote:
> On Thu, 27 Jun 2013, Ian Jackson wrote:
> > Stefano Stabellini writes ("[PATCH v2] introduce a cache options for PV
> > disks"):
> > > Document a per-disk cache option in the xl config file to allow users to
> > > select the cache mode that the backend should use to open the disk file
> > > or device.
> >
> > Here's an RFD revised version of the qemu patch. I haven't compiled
> > it yet.
> >
>
> It's mostly OK, just few minor corrections for code readability
BTW are you going to follow up or do you want me to?
>
> > diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
> > index 247f32f..9b42e7f 100644
> > --- a/hw/block/xen_disk.c
> > +++ b/hw/block/xen_disk.c
> > @@ -93,6 +93,7 @@ struct XenBlkDev {
> > char *type;
> > char *dev;
> > char *devtype;
> > + bool directiosafe;
> > const char *fileproto;
> > const char *filename;
> > int ring_ref;
> > @@ -701,6 +702,7 @@ static int blk_init(struct XenDevice *xendev)
> > {
> > struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev,
> > xendev);
> > int info = 0;
> > + char *directiosafe == NULL;
> ^ =
>
> > /* read xenstore entries */
> > if (blkdev->params == NULL) {
> > @@ -733,6 +735,8 @@ static int blk_init(struct XenDevice *xendev)
> > if (blkdev->devtype == NULL) {
> > blkdev->devtype = xenstore_read_be_str(&blkdev->xendev,
> > "device-type");
> > }
> > + directiosafe = xenstore_read_be_str(&blkdev->xendev, "direct-io-safe");
> > + blkdev->directiosafe = (directiosafe && atoi(directiofsafe));
> >
> > /* do we have all we need? */
> > if (blkdev->params == NULL ||
> > @@ -760,6 +764,8 @@ static int blk_init(struct XenDevice *xendev)
> > xenstore_write_be_int(&blkdev->xendev, "feature-flush-cache", 1);
> > xenstore_write_be_int(&blkdev->xendev, "feature-persistent", 1);
> > xenstore_write_be_int(&blkdev->xendev, "info", info);
> > +
> > + g_free(directiosafe);
> > return 0;
> >
> > out_error:
> > @@ -773,6 +779,7 @@ out_error:
> > blkdev->dev = NULL;
> > g_free(blkdev->devtype);
> > blkdev->devtype = NULL;
> > + g_free(directiosafe);
>
> maybe add
>
> blkdev->directiosafe = false;
>
>
> > return -1;
> > }
> >
> > @@ -784,6 +791,9 @@ static int blk_connect(struct XenDevice *xendev)
> >
> > /* read-only ? */
> > qflags = BDRV_O_CACHE_WB | BDRV_O_NATIVE_AIO;
> > + if (blkdev->directiosafe) {
> > + qflags = BDRV_O_NOCACHE | BDRV_O_NATIVE_AIO;
> > + }
>
> Please change this into:
>
> if (blkdev->directiosafe) {
> qflags = BDRV_O_NOCACHE | BDRV_O_NATIVE_AIO;
> } else {
> qflags = BDRV_O_CACHE_WB;
> }
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |