From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Gruenbacher Date: Mon, 20 Jan 2020 10:12:56 +0100 Subject: [Cluster-devel] [PATCH 02/11] gfs2: Don't add glocks to the LRU while still in use In-Reply-To: <20200120091305.24997-1-agruenba@redhat.com> References: <20200120091305.24997-1-agruenba@redhat.com> Message-ID: <20200120091305.24997-3-agruenba@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Only add glocks to the LRU once they're no longer in use. They will outlive the inode they are associated with if they are cached (not GL_NOCACHE) or if they have some pending work attached. Signed-off-by: Andreas Gruenbacher --- fs/gfs2/glock.c | 2 +- fs/gfs2/glock.h | 1 - fs/gfs2/super.c | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index cabffdc126fd..2aa21bab8e1c 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -178,7 +178,7 @@ static int demote_ok(const struct gfs2_glock *gl) } -void gfs2_glock_add_to_lru(struct gfs2_glock *gl) +static void gfs2_glock_add_to_lru(struct gfs2_glock *gl) { if (!(gl->gl_ops->go_flags & GLOF_LRU)) return; diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h index b8adaf80e4c5..dc23cbf6ae7a 100644 --- a/fs/gfs2/glock.h +++ b/fs/gfs2/glock.h @@ -238,7 +238,6 @@ extern void gfs2_glock_complete(struct gfs2_glock *gl, int ret); extern void gfs2_gl_hash_clear(struct gfs2_sbd *sdp); extern void gfs2_glock_finish_truncate(struct gfs2_inode *ip); extern void gfs2_glock_thaw(struct gfs2_sbd *sdp); -extern void gfs2_glock_add_to_lru(struct gfs2_glock *gl); extern void gfs2_glock_free(struct gfs2_glock *gl); extern int __init gfs2_glock_init(void); diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 68cc7c291a81..2621d925812b 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c @@ -1378,7 +1378,6 @@ static void gfs2_evict_inode(struct inode *inode) gfs2_dir_hash_inval(ip); glock_clear_object(ip->i_gl, ip); wait_on_bit_io(&ip->i_flags, GIF_GLOP_PENDING, TASK_UNINTERRUPTIBLE); - gfs2_glock_add_to_lru(ip->i_gl); gfs2_glock_put_eventually(ip->i_gl); ip->i_gl = NULL; if (gfs2_holder_initialized(&ip->i_iopen_gh)) { -- 2.20.1