xen/blkback: Replace WRITE_BARRIER with (REQ_FLUSH | REQ_FUA)
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 24 Feb 2011 22:22:41 +0000 (17:22 -0500)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 14 Apr 2011 22:26:17 +0000 (18:26 -0400)
TODO: Double check xen-blkfront.c

drivers/xen/blkback/blkback.c

index 6d89766..cb844f7 100644 (file)
@@ -405,7 +405,7 @@ static void dispatch_rw_block_io(blkif_t *blkif,
                operation = WRITE;
                break;
        case BLKIF_OP_WRITE_BARRIER:
-               operation = WRITE_BARRIER;
+               operation = REQ_FLUSH | REQ_FUA;
                break;
        default:
                operation = 0; /* make gcc happy */
@@ -414,7 +414,7 @@ static void dispatch_rw_block_io(blkif_t *blkif,
 
        /* Check that number of segments is sane. */
        nseg = req->nr_segments;
-       if (unlikely(nseg == 0 && operation != WRITE_BARRIER) ||
+       if (unlikely(nseg == 0 && operation != (REQ_FLUSH | REQ_FUA)) ||
            unlikely(nseg > BLKIF_MAX_SEGMENTS_PER_REQUEST)) {
                DPRINTK("Bad number of segments in request (%d)\n", nseg);
                goto fail_response;
@@ -517,7 +517,7 @@ static void dispatch_rw_block_io(blkif_t *blkif,
        }
 
        if (!bio) {
-               BUG_ON(operation != WRITE_BARRIER);
+               BUG_ON(operation != (REQ_FLUSH | REQ_FUA));
                bio = bio_alloc(GFP_KERNEL, 0);
                if (unlikely(bio == NULL))
                        goto fail_put_bio;
@@ -532,7 +532,7 @@ static void dispatch_rw_block_io(blkif_t *blkif,
 
        if (operation == READ)
                blkif->st_rd_sect += preq.nr_sects;
-       else if (operation == WRITE || operation == WRITE_BARRIER)
+       else if (operation == WRITE || operation == (REQ_FLUSH | REQ_FUA))
                blkif->st_wr_sect += preq.nr_sects;
 
        return;