Anthony PERARD
2012-Sep-27 11:12 UTC
[PATCH V4 5/5] xen: Set the vram dirty when an error occur.
If the call to xc_hvm_track_dirty_vram() fails, then we set dirtybit on all the
video ram. This case happens during migration.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
xen-all.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xen-all.c b/xen-all.c
index b11542c..e6308be 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -507,7 +507,8 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
bitmap);
if (rc < 0) {
if (rc != -ENODATA) {
- fprintf(stderr, "xen: track_dirty_vram failed (0x"
TARGET_FMT_plx
+ memory_region_set_dirty(framebuffer, 0, size);
+ DPRINTF("xen: track_dirty_vram failed (0x" TARGET_FMT_plx
", 0x" TARGET_FMT_plx "): %s\n",
start_addr, start_addr + size, strerror(-rc));
}
--
Anthony PERARD
Stefano Stabellini
2012-Oct-01 10:33 UTC
Re: [PATCH V4 5/5] xen: Set the vram dirty when an error occur.
On Thu, 27 Sep 2012, Anthony PERARD wrote:> If the call to xc_hvm_track_dirty_vram() fails, then we set dirtybit on all the > video ram. This case happens during migration. > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>> xen-all.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/xen-all.c b/xen-all.c > index b11542c..e6308be 100644 > --- a/xen-all.c > +++ b/xen-all.c > @@ -507,7 +507,8 @@ static void xen_sync_dirty_bitmap(XenIOState *state, > bitmap); > if (rc < 0) { > if (rc != -ENODATA) { > - fprintf(stderr, "xen: track_dirty_vram failed (0x" TARGET_FMT_plx > + memory_region_set_dirty(framebuffer, 0, size); > + DPRINTF("xen: track_dirty_vram failed (0x" TARGET_FMT_plx > ", 0x" TARGET_FMT_plx "): %s\n", > start_addr, start_addr + size, strerror(-rc)); > } > -- > Anthony PERARD >