diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2021-06-18 21:16:42 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2021-06-18 21:16:42 +0200 |
commit | b89ecd60d38ec042d63bdb376c722a16f92bcb88 (patch) | |
tree | b0c60479b367eae6dd3421a0b1a63ee8db5c1f28 /fs/fuse | |
parent | fuse: Fix infinite loop in sget_fc() (diff) | |
download | linux-b89ecd60d38ec042d63bdb376c722a16f92bcb88.tar.xz linux-b89ecd60d38ec042d63bdb376c722a16f92bcb88.zip |
fuse: ignore PG_workingset after stealing
Fix the "fuse: trying to steal weird page" warning.
Description from Johannes Weiner:
"Think of it as similar to PG_active. It's just another usage/heat
indicator of file and anon pages on the reclaim LRU that, unlike
PG_active, persists across deactivation and even reclaim (we store it in
the page cache / swapper cache tree until the page refaults).
So if fuse accepts pages that can legally have PG_active set,
PG_workingset is fine too."
Reported-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Fixes: 1899ad18c607 ("mm: workingset: tell cache transitions from workingset thrashing")
Cc: <stable@vger.kernel.org> # v4.20
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/fuse')
-rw-r--r-- | fs/fuse/dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index a5ceccc5ef00..817a0b1c5c25 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -783,6 +783,7 @@ static int fuse_check_page(struct page *page) 1 << PG_uptodate | 1 << PG_lru | 1 << PG_active | + 1 << PG_workingset | 1 << PG_reclaim | 1 << PG_waiters))) { dump_page(page, "fuse: trying to steal weird page"); |