aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/glock.c
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2022-12-05 22:27:28 +0100
committerAndreas Gruenbacher <agruenba@redhat.com>2022-12-06 16:08:12 +0100
commit88f4a9f813c549f6b8a6fbf12030949b48a4d5a4 (patch)
treec068a5ba99f65e7ed05b9f768c49636a4e7a7f4e /fs/gfs2/glock.c
parent2ec750a01d189cf1872cd79490d0911a7bd519f8 (diff)
downloadlinux-88f4a9f813c549f6b8a6fbf12030949b48a4d5a4.tar.gz
gfs2: Partially revert gfs2_inode_lookup change
Commit c412a97cf6c5 changed delete_work_func() to always perform an inode lookup when gfs2_try_evict() fails. This doesn't make sense as a gfs2_try_evict() failure indicates that the inode is likely still in use. Revert that change. Fixes: c412a97cf6c5 ("gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED inodes") Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2/glock.c')
-rw-r--r--fs/gfs2/glock.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 76432efe6e025b..6f2de8c0b2d01a 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1082,6 +1082,7 @@ static void delete_work_func(struct work_struct *work)
if (gfs2_queue_delete_work(gl, 5 * HZ))
return;
}
+ goto out;
}
inode = gfs2_lookup_by_inum(sdp, no_addr, gl->gl_no_formal_ino,
@@ -1094,6 +1095,7 @@ static void delete_work_func(struct work_struct *work)
d_prune_aliases(inode);
iput(inode);
}
+out:
gfs2_glock_put(gl);
}