qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2] xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, re


From: Stefano Stabellini
Subject: [Qemu-devel] [PATCH v2] xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove BLKIF_OP_WRITE_BARRIER
Date: Wed, 9 Jan 2013 18:41:35 +0000
User-agent: Alpine 2.02 (DEB 1266 2009-07-14)

Signed-off-by: Stefano Stabellini <address@hidden>

Changes in v2:
- BLKIF_OP_FLUSH_DISKCACHE implies a preflush, not a postflush.

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index a6a64a2..2d0de09 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -182,12 +182,11 @@ static int ioreq_parse(struct ioreq *ioreq)
     case BLKIF_OP_READ:
         ioreq->prot = PROT_WRITE; /* to memory */
         break;
-    case BLKIF_OP_WRITE_BARRIER:
+    case BLKIF_OP_FLUSH_DISKCACHE:
+        ioreq->presync = 1;
         if (!ioreq->req.nr_segments) {
-            ioreq->presync = 1;
             return 0;
         }
-        ioreq->presync = ioreq->postsync = 1;
         /* fall through */
     case BLKIF_OP_WRITE:
         ioreq->prot = PROT_READ; /* from memory */
@@ -369,7 +368,7 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
                        qemu_aio_complete, ioreq);
         break;
     case BLKIF_OP_WRITE:
-    case BLKIF_OP_WRITE_BARRIER:
+    case BLKIF_OP_FLUSH_DISKCACHE:
         if (!ioreq->req.nr_segments) {
             break;
         }
@@ -654,7 +653,7 @@ static int blk_init(struct XenDevice *xendev)
                   blkdev->file_size, blkdev->file_size >> 20);
 
     /* fill info */
-    xenstore_write_be_int(&blkdev->xendev, "feature-barrier", 1);
+    xenstore_write_be_int(&blkdev->xendev, "feature-flush-cache", 1);
     xenstore_write_be_int(&blkdev->xendev, "info",            info);
     xenstore_write_be_int(&blkdev->xendev, "sector-size",     
blkdev->file_blk);
     xenstore_write_be_int(&blkdev->xendev, "sectors",



reply via email to

[Prev in Thread] Current Thread [Next in Thread]