Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
* 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: properly account for reclaimed inodes
This commit is contained in:
commit
5710c2b275
@ -668,14 +668,11 @@ xfs_inode_set_reclaim_tag(
|
|||||||
xfs_perag_put(pag);
|
xfs_perag_put(pag);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
STATIC void
|
||||||
__xfs_inode_clear_reclaim_tag(
|
__xfs_inode_clear_reclaim(
|
||||||
xfs_mount_t *mp,
|
|
||||||
xfs_perag_t *pag,
|
xfs_perag_t *pag,
|
||||||
xfs_inode_t *ip)
|
xfs_inode_t *ip)
|
||||||
{
|
{
|
||||||
radix_tree_tag_clear(&pag->pag_ici_root,
|
|
||||||
XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG);
|
|
||||||
pag->pag_ici_reclaimable--;
|
pag->pag_ici_reclaimable--;
|
||||||
if (!pag->pag_ici_reclaimable) {
|
if (!pag->pag_ici_reclaimable) {
|
||||||
/* clear the reclaim tag from the perag radix tree */
|
/* clear the reclaim tag from the perag radix tree */
|
||||||
@ -689,6 +686,17 @@ __xfs_inode_clear_reclaim_tag(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
__xfs_inode_clear_reclaim_tag(
|
||||||
|
xfs_mount_t *mp,
|
||||||
|
xfs_perag_t *pag,
|
||||||
|
xfs_inode_t *ip)
|
||||||
|
{
|
||||||
|
radix_tree_tag_clear(&pag->pag_ici_root,
|
||||||
|
XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG);
|
||||||
|
__xfs_inode_clear_reclaim(pag, ip);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Inodes in different states need to be treated differently, and the return
|
* Inodes in different states need to be treated differently, and the return
|
||||||
* value of xfs_iflush is not sufficient to get this right. The following table
|
* value of xfs_iflush is not sufficient to get this right. The following table
|
||||||
@ -838,6 +846,7 @@ reclaim:
|
|||||||
if (!radix_tree_delete(&pag->pag_ici_root,
|
if (!radix_tree_delete(&pag->pag_ici_root,
|
||||||
XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino)))
|
XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino)))
|
||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
|
__xfs_inode_clear_reclaim(pag, ip);
|
||||||
write_unlock(&pag->pag_ici_lock);
|
write_unlock(&pag->pag_ici_lock);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user