Skip to content

Commit

Permalink
super: fix for destroy lrus
Browse files Browse the repository at this point in the history
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: Glauber Costa <glommer@openvz.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Glauber Costa authored and Al Viro committed Sep 10, 2013
1 parent 5ca302c commit f5e1dd3
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 2 deletions.
3 changes: 3 additions & 0 deletions fs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_buf.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_qm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit f5e1dd3

Please sign in to comment.