Re: [fuse-devel] trying to steal weird page?

From: Miklos Szeredi
Date: Thu Apr 20 2017 - 09:32:57 EST


On Wed, Apr 12, 2017 at 11:30:00AM -0400, Antonio SJ Musumeci wrote:
> A user reported getting the below errors when *not* using direct_io
> but atomic_o_trunc, auto_cache, big_writes, default_permissions,
> splice_move, splice_read, and splice_write are enabled.
>
> Any ideas?

I think this is due to the PageWaiters bit added in v4.10 by

62906027091f ("mm: add PageWaiters indicating tasks are waiting for a page bit")

That bit is harmless and probably left behind due to a race. Following patch
should fix the warning.

Thanks,
Miklos

---
fs/fuse/dev.c | 1 +
1 file changed, 1 insertion(+)

--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -811,6 +811,7 @@ static int fuse_check_page(struct page *
1 << PG_uptodate |
1 << PG_lru |
1 << PG_active |
+ 1 << PG_waiters |
1 << PG_reclaim))) {
printk(KERN_WARNING "fuse: trying to steal weird page\n");
printk(KERN_WARNING " page=%p index=%li flags=%08lx, count=%i, mapcount=%i, mapping=%p\n", page, page->index, page->flags, page_count(page), page_mapcount(page), page->mapping);