xen/blkback: Report VBD_WSECT (wr_sect) properly.
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 10 Oct 2011 16:33:21 +0000 (12:33 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 13 Oct 2011 13:48:37 +0000 (09:48 -0400)
We did not increment the amount of sectors written to disk
b/c we tested for the == WRITE which is incorrect - as the
operations are more of WRITE_FLUSH, WRITE_ODIRECT. This patch
fixes it by doing a & WRITE check.

CC: stable@kernel.org
Reported-by: Andy Burns <xen.lists@burns.me.uk>
Suggested-by: Ian Campbell <Ian.Campbell@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/block/xen-blkback/blkback.c

index 184b1335c8e9737f1ccb5d99a962115829b41dc4..c15c559e8662a7a7f34cbd999c58e9465f4efefe 100644 (file)
@@ -776,7 +776,7 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif,
 
        if (operation == READ)
                blkif->st_rd_sect += preq.nr_sects;
-       else if (operation == WRITE || operation == WRITE_FLUSH)
+       else if (operation & WRITE)
                blkif->st_wr_sect += preq.nr_sects;
 
        return 0;