const char *test_name)
{
for (int i = 0; i < eb->len; i++) {
- struct page *page = folio_page(eb->folios[i >> PAGE_SHIFT], 0);
- void *addr = page_address(page) + offset_in_page(i);
+ const unsigned long idx = get_eb_folio_index(eb, i);
+ void *addr = folio_address(eb->folios[idx]) +
+ get_eb_offset_in_folio(eb, i);
if (memcmp(addr, memory + i, 1) != 0) {
test_err("%s failed", test_name);
const char *test_name)
{
for (int i = 0; i < (eb->len >> PAGE_SHIFT); i++) {
- void *eb_addr = folio_address(eb->folios[i]);
+ const unsigned long offset = i << PAGE_SHIFT;
+ const unsigned long idx = get_eb_folio_index(eb, offset);
+ void *eb_addr = folio_address(eb->folios[idx]) +
+ get_eb_offset_in_folio(eb, offset);
- if (memcmp(memory + (i << PAGE_SHIFT), eb_addr, PAGE_SIZE) != 0) {
+ if (memcmp(memory + offset, eb_addr, PAGE_SIZE) != 0) {
dump_eb_and_memory_contents(eb, memory, test_name);
return -EUCLEAN;
}