Re: [PATCH] Assert that pages being written back are locked

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Anyone want to review this for me?

On Tue, Oct 27, 2020 at 10:46:45PM +0000, Matthew Wilcox wrote:
> From: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
> 
> In write_cache_pages(), we rely on PageLock to prevent writeback from
> starting on locked pages.  I'm not sure if we document anywhere that pages
> that we're starting writes on must be locked, but having an assertion
> will make it clear to users that this is required.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
> 
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 3671568d433f..f83dd855594d 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -2774,6 +2774,8 @@ int __test_set_page_writeback(struct page *page, bool keep_write)
>  	struct address_space *mapping = page_mapping(page);
>  	int ret, access_ret;
>  
> +	VM_BUG_ON_PGFLAGS(!PageLocked(page), page);
> +
>  	lock_page_memcg(page);
>  	if (mapping && mapping_use_writeback_tags(mapping)) {
>  		XA_STATE(xas, &mapping->i_pages, page_index(page));
> 




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux