Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5e1dd34 authored by Glauber Costa's avatar Glauber Costa Committed by Al Viro
Browse files

super: fix for destroy lrus



This patch adds the missing call to list_lru_destroy (spotted by Li Zhong)
and moves the deletion to after the shrinker is unregistered, as correctly
spotted by Dave

Signed-off-by: default avatarGlauber Costa <glommer@openvz.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Dave Chinner <dchinner@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 5ca302c8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -323,6 +323,9 @@ void deactivate_locked_super(struct super_block *s)

		/* caches are now gone, we can safely kill the shrinker now */
		unregister_shrinker(&s->s_shrink);
		list_lru_destroy(&s->s_dentry_lru);
		list_lru_destroy(&s->s_inode_lru);

		put_filesystem(fs);
		put_super(s);
	} else {
+1 −1
Original line number Diff line number Diff line
@@ -1592,8 +1592,8 @@ xfs_free_buftarg(
	struct xfs_mount	*mp,
	struct xfs_buftarg	*btp)
{
	list_lru_destroy(&btp->bt_lru);
	unregister_shrinker(&btp->bt_shrinker);
	list_lru_destroy(&btp->bt_lru);

	if (mp->m_flags & XFS_MOUNT_BARRIER)
		xfs_blkdev_issue_flush(btp);
+1 −1
Original line number Diff line number Diff line
@@ -940,8 +940,8 @@ xfs_qm_destroy_quotainfo(
	qi = mp->m_quotainfo;
	ASSERT(qi != NULL);

	list_lru_destroy(&qi->qi_lru);
	unregister_shrinker(&qi->qi_shrinker);
	list_lru_destroy(&qi->qi_lru);

	if (qi->qi_uquotaip) {
		IRELE(qi->qi_uquotaip);