From c9a0a4b028e4fe16c79e685b2135ce2f097d0d0e Mon Sep 17 00:00:00 2001 From: Andreas Gruenbacher Date: Thu, 28 Mar 2024 19:14:07 +0100 Subject: Revert "gfs2: fix glock shrinker ref issues" This reverts commit 62862485a4c3a52029fc30f4bdde9af04afdafc9. Commit 62862485a4c3 tried to fix issues introduced by commit 228804a35caa ("gfs2: Make glock lru list scanning safer"), but like that commit, it failed to account for the bias state_change() adds to the glock reference count for locked glocks. Revert commit 62862485a4c3 so that we can fix commit 228804a35caa properly. Signed-off-by: Andreas Gruenbacher --- fs/gfs2/glock.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index ec1f8eb28950..2882a42e88aa 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -2056,9 +2056,7 @@ static long gfs2_scan_glock_lru(int nr) if (!test_bit(GLF_LOCK, &gl->gl_flags)) { if (!spin_trylock(&gl->gl_lockref.lock)) continue; - if (gl->gl_lockref.count <= 1 && - (gl->gl_state == LM_ST_UNLOCKED || - demote_ok(gl))) { + if (!gl->gl_lockref.count) { list_move(&gl->gl_lru, &dispose); atomic_dec(&lru_count); freed++; -- cgit v1.2.3-58-ga151