We need to clear marks when removing a page from xarray since there could be DIRTY or TOWRITE tags left for the page. Use xas_erase() to explicitely request mark clearing. Signed-off-by: Jan Kara <jack@xxxxxxx> --- mm/filemap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/filemap.c b/mm/filemap.c index 23a051a7ef0f..48c488b505ad 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -333,7 +333,7 @@ static void page_cache_delete_batch(struct address_space *mapping, */ if (page->index + compound_nr(page) - 1 == xas.xa_index) i++; - xas_store(&xas, NULL); + xas_erase(&xas); total_pages++; } mapping->nrpages -= total_pages; -- 2.16.4