@@ -927,14 +927,13 @@ static int delete_from_lru_cache(struct folio *folio)
927
927
return - EIO ;
928
928
}
929
929
930
- static int truncate_error_page (struct page * p , unsigned long pfn ,
930
+ static int truncate_error_page (struct folio * folio , unsigned long pfn ,
931
931
struct address_space * mapping )
932
932
{
933
- struct folio * folio = page_folio (p );
934
933
int ret = MF_FAILED ;
935
934
936
935
if (mapping -> a_ops -> error_remove_page ) {
937
- int err = mapping -> a_ops -> error_remove_page (mapping , p );
936
+ int err = mapping -> a_ops -> error_remove_page (mapping , & folio -> page );
938
937
939
938
if (err != 0 )
940
939
pr_info ("%#lx: Failed to punch page: %d\n" , pfn , err );
@@ -1055,7 +1054,7 @@ static int me_pagecache_clean(struct page_state *ps, struct page *p)
1055
1054
*
1056
1055
* Open: to take i_rwsem or not for this? Right now we don't.
1057
1056
*/
1058
- ret = truncate_error_page (p , page_to_pfn (p ), mapping );
1057
+ ret = truncate_error_page (folio , page_to_pfn (p ), mapping );
1059
1058
if (has_extra_refcount (ps , p , extra_pins ))
1060
1059
ret = MF_FAILED ;
1061
1060
@@ -1189,7 +1188,7 @@ static int me_huge_page(struct page_state *ps, struct page *p)
1189
1188
1190
1189
mapping = folio_mapping (folio );
1191
1190
if (mapping ) {
1192
- res = truncate_error_page (& folio -> page , page_to_pfn (p ), mapping );
1191
+ res = truncate_error_page (folio , page_to_pfn (p ), mapping );
1193
1192
/* The page is kept in page cache. */
1194
1193
extra_pins = true;
1195
1194
folio_unlock (folio );
0 commit comments