On 03.03.23 00:27, Luis Chamberlain wrote:
> Matthew notes we should not need to check the folio lock
> on the writepage() callback so remove it. This sanity check
> has been lingering since linux-history days. We remove this
> as we tidy up the writepage() callback to make things a bit
> clearer.
>
> Suggested-by: Matthew Wilcox <willy@infradead.org>
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
> ---
> mm/shmem.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/shmem.c b/mm/shmem.c
> index 1af85259b6fc..7fff1a3af092 100644
> --- a/mm/shmem.c
> +++ b/mm/shmem.c
> @@ -1354,7 +1354,6 @@ static int shmem_writepage(struct page *page, struct writeback_control *wbc)
> folio_clear_dirty(folio);
> }
>
> - BUG_ON(!folio_test_locked(folio));
> mapping = folio->mapping;
> index = folio->index;
> inode = mapping->host;
It's still required IIUC. At least for split_huge_page() and
setting/clearing some page flags in there.
At least split_huge_page() also contains a
VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio);
So it's probably reasonable to remove this unconditional sanity check
here; removing BUG_ON's is always nice.
Acked-by: David Hildenbrand <david@redhat.com>
--
Thanks,
David / dhildenb