Snap for 11304306 from 4f69d90375
to android14-6.1-keystone-qcom-release
Change-Id: Ic94479ee357d11b6b2113be8c588c4755d900850 Signed-off-by: Coastguard Worker <android-build-coastguard-worker@google.com>
This commit is contained in:
commit
daf56c44bb
@ -393,6 +393,7 @@ int folio_migrate_mapping(struct address_space *mapping,
|
||||
int dirty;
|
||||
int expected_count = folio_expected_refs(mapping, folio) + extra_count;
|
||||
long nr = folio_nr_pages(folio);
|
||||
long entries, i;
|
||||
|
||||
if (!mapping) {
|
||||
/* Anonymous page without mapping */
|
||||
@ -430,8 +431,10 @@ int folio_migrate_mapping(struct address_space *mapping,
|
||||
folio_set_swapcache(newfolio);
|
||||
newfolio->private = folio_get_private(folio);
|
||||
}
|
||||
entries = nr;
|
||||
} else {
|
||||
VM_BUG_ON_FOLIO(folio_test_swapcache(folio), folio);
|
||||
entries = 1;
|
||||
}
|
||||
|
||||
/* Move dirty while page refs frozen and newpage not yet exposed */
|
||||
@ -441,7 +444,11 @@ int folio_migrate_mapping(struct address_space *mapping,
|
||||
folio_set_dirty(newfolio);
|
||||
}
|
||||
|
||||
xas_store(&xas, newfolio);
|
||||
/* Swap cache still stores N entries instead of a high-order entry */
|
||||
for (i = 0; i < entries; i++) {
|
||||
xas_store(&xas, newfolio);
|
||||
xas_next(&xas);
|
||||
}
|
||||
|
||||
/*
|
||||
* Drop cache reference from old page by unfreezing
|
||||
|
Loading…
Reference in New Issue
Block a user