[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] blktap2: eliminate bogus clearing of PG_reserved
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1281451616 -3600 # Node ID 566d68f989eec2fa570fd0273a07e79d7702d773 # Parent 042c8cd710810204049ea8194f1bb95e74949a1d blktap2: eliminate bogus clearing of PG_reserved While making sure PG_reserved is set for pages allocated from the balloon driver (and to be used for I/O) is a necessary thing to do (as 2.6.18's as well as pv-ops' balloon drivers don't guarantee this for the pages returned from alloc_empty_pages_and_page_vec()), clearing this flag again when a page is no longer in use for I/O is bogus at best (after all, the page at that point is not associated with any MFN anymore), and causes problems when the balloon driver properly marks all such pages as reserved and checks, upon their return, that they are still marked this way. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- drivers/xen/blktap2/device.c | 1 - drivers/xen/blktap2/ring.c | 9 +++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff -r 042c8cd71081 -r 566d68f989ee drivers/xen/blktap2/device.c --- a/drivers/xen/blktap2/device.c Mon Aug 02 11:02:18 2010 +0100 +++ b/drivers/xen/blktap2/device.c Tue Aug 10 15:46:56 2010 +0100 @@ -281,7 +281,6 @@ blktap_device_fast_flush(struct blktap * page = map[offset]; if (page) { - ClearPageReserved(map[offset]); if (PageBlkback(page)) { ClearPageBlkback(page); set_page_private(page, 0); diff -r 042c8cd71081 -r 566d68f989ee drivers/xen/blktap2/ring.c --- a/drivers/xen/blktap2/ring.c Mon Aug 02 11:02:18 2010 +0100 +++ b/drivers/xen/blktap2/ring.c Tue Aug 10 15:46:56 2010 +0100 @@ -112,12 +112,9 @@ blktap_ring_clear_pte(struct vm_area_str offset = (int)((uvaddr - vma->vm_start) >> PAGE_SHIFT); page = map[offset]; - if (page) { - ClearPageReserved(page); - if (PageBlkback(page)) { - ClearPageBlkback(page); - set_page_private(page, 0); - } + if (page && PageBlkback(page)) { + ClearPageBlkback(page); + set_page_private(page, 0); } map[offset] = NULL; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |