linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Assert that pages being written back are locked
@ 2020-10-27 22:46 Matthew Wilcox
  2020-11-11  0:39 ` Matthew Wilcox
  2020-11-11  3:37 ` William Kucharski
  0 siblings, 2 replies; 3+ messages in thread
From: Matthew Wilcox @ 2020-10-27 22:46 UTC (permalink / raw)
  To: linux-mm

From: Matthew Wilcox (Oracle) <willy@infradead.org>

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@infradead.org>

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));


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-11  3:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-27 22:46 [PATCH] Assert that pages being written back are locked Matthew Wilcox
2020-11-11  0:39 ` Matthew Wilcox
2020-11-11  3:37 ` William Kucharski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox