# HG changeset patch # User Keir Fraser # Date 1248080624 -3600 # Node ID e78f3ff3716110b973c22521730d2d4a97814346 # Parent c995a3160b7e6da90d1ac45c7a558f76384605e2 blkback: pagemap bug fixes Signed-off-by: Jake Wires diff -r c995a3160b7e -r e78f3ff37161 drivers/xen/blkback/blkback.c --- a/drivers/xen/blkback/blkback.c Mon Jun 29 10:57:46 2009 +0100 +++ b/drivers/xen/blkback/blkback.c Mon Jul 20 10:03:44 2009 +0100 @@ -454,6 +454,11 @@ DPRINTK("invalid buffer -- could not remap it\n"); map[i].handle = BLKBACK_INVALID_HANDLE; ret |= 1; + } else { + blkback_pagemap_set(vaddr_pagenr(pending_req, i), + virt_to_page(vaddr(pending_req, i)), + blkif->domid, req->handle, + req->seg[i].gref); } pending_handle(pending_req, i) = map[i].handle; @@ -466,10 +471,6 @@ FOREIGN_FRAME(map[i].dev_bus_addr >> PAGE_SHIFT)); seg[i].buf = map[i].dev_bus_addr | (req->seg[i].first_sect << 9); - blkback_pagemap_set(vaddr_pagenr(pending_req, i), - virt_to_page(vaddr(pending_req, i)), - blkif->domid, req->handle, - req->seg[i].gref); } if (ret)