|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] linux/blktap2: eliminate bogus clearing of PG_reserv
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>
Cc: Jake Wires <Jake.Wires@xxxxxxxxxx>
Cc: Dutch Meyer <dmeyer@xxxxxxxxx>
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
--- a/drivers/xen/blktap2/device.c
+++ b/drivers/xen/blktap2/device.c
@@ -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);
--- a/drivers/xen/blktap2/ring.c
+++ b/drivers/xen/blktap2/ring.c
@@ -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;
xenlinux-blktap2-ClearPageReserved.patch
Description: Text document
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH] linux/blktap2: eliminate bogus clearing of PG_reserved,
Jan Beulich <=
|
|
|
|
|