kernel/fs/nilfs2/page.c
.. .. @@ -369,7 +369,15 @@ 369 369 struct page *page = pvec.pages[i]; 370 370 371 371 lock_page(page); 372 - nilfs_clear_dirty_page(page, silent);372 +373 + /*374 + * This page may have been removed from the address375 + * space by truncation or invalidation when the lock376 + * was acquired. Skip processing in that case.377 + */378 + if (likely(page->mapping == mapping))379 + nilfs_clear_dirty_page(page, silent);380 +373 381 unlock_page(page); 374 382 } 375 383 pagevec_release(&pvec);