Commit 9be05904 authored by Darrick J. Wong's avatar Darrick J. Wong

xfs: remove xfs_inode_ag_iterator_flags

Combine xfs_inode_ag_iterator_flags and xfs_inode_ag_iterator_tag into a
single wrapper function since there's only one caller of the _flags
variant.
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
parent 43d24bcf
...@@ -976,38 +976,22 @@ xfs_cowblocks_worker( ...@@ -976,38 +976,22 @@ xfs_cowblocks_worker(
xfs_queue_cowblocks(mp); xfs_queue_cowblocks(mp);
} }
int /* Fetch the next (possibly tagged) per-AG structure. */
xfs_inode_ag_iterator_flags( static inline struct xfs_perag *
xfs_inode_walk_get_perag(
struct xfs_mount *mp, struct xfs_mount *mp,
int (*execute)(struct xfs_inode *ip, int flags, xfs_agnumber_t agno,
void *args), int tag)
int flags,
void *args,
int iter_flags)
{ {
struct xfs_perag *pag; if (tag == XFS_ICI_NO_TAG)
int error = 0; return xfs_perag_get(mp, agno);
int last_error = 0; return xfs_perag_get_tag(mp, agno, tag);
xfs_agnumber_t ag;
ag = 0;
while ((pag = xfs_perag_get(mp, ag))) {
ag = pag->pag_agno + 1;
error = xfs_inode_ag_walk(mp, pag, execute, flags, args,
XFS_ICI_NO_TAG, iter_flags);
xfs_perag_put(pag);
if (error) {
last_error = error;
if (error == -EFSCORRUPTED)
break;
}
}
return last_error;
} }
int int
xfs_inode_ag_iterator_tag( xfs_inode_ag_iterator(
struct xfs_mount *mp, struct xfs_mount *mp,
int iter_flags,
int (*execute)(struct xfs_inode *ip, int flags, int (*execute)(struct xfs_inode *ip, int flags,
void *args), void *args),
int flags, int flags,
...@@ -1020,10 +1004,10 @@ xfs_inode_ag_iterator_tag( ...@@ -1020,10 +1004,10 @@ xfs_inode_ag_iterator_tag(
xfs_agnumber_t ag; xfs_agnumber_t ag;
ag = 0; ag = 0;
while ((pag = xfs_perag_get_tag(mp, ag, tag))) { while ((pag = xfs_inode_walk_get_perag(mp, ag, tag))) {
ag = pag->pag_agno + 1; ag = pag->pag_agno + 1;
error = xfs_inode_ag_walk(mp, pag, execute, flags, args, tag, error = xfs_inode_ag_walk(mp, pag, execute, flags, args, tag,
0); iter_flags);
xfs_perag_put(pag); xfs_perag_put(pag);
if (error) { if (error) {
last_error = error; last_error = error;
...@@ -1543,8 +1527,7 @@ __xfs_icache_free_eofblocks( ...@@ -1543,8 +1527,7 @@ __xfs_icache_free_eofblocks(
if (eofb && (eofb->eof_flags & XFS_EOF_FLAGS_SYNC)) if (eofb && (eofb->eof_flags & XFS_EOF_FLAGS_SYNC))
flags = SYNC_WAIT; flags = SYNC_WAIT;
return xfs_inode_ag_iterator_tag(mp, execute, flags, return xfs_inode_ag_iterator(mp, 0, execute, flags, eofb, tag);
eofb, tag);
} }
int int
......
...@@ -71,10 +71,7 @@ int xfs_inode_free_quota_cowblocks(struct xfs_inode *ip); ...@@ -71,10 +71,7 @@ int xfs_inode_free_quota_cowblocks(struct xfs_inode *ip);
void xfs_cowblocks_worker(struct work_struct *); void xfs_cowblocks_worker(struct work_struct *);
void xfs_queue_cowblocks(struct xfs_mount *); void xfs_queue_cowblocks(struct xfs_mount *);
int xfs_inode_ag_iterator_flags(struct xfs_mount *mp, int xfs_inode_ag_iterator(struct xfs_mount *mp, int iter_flags,
int (*execute)(struct xfs_inode *ip, int flags, void *args),
int flags, void *args, int iter_flags);
int xfs_inode_ag_iterator_tag(struct xfs_mount *mp,
int (*execute)(struct xfs_inode *ip, int flags, void *args), int (*execute)(struct xfs_inode *ip, int flags, void *args),
int flags, void *args, int tag); int flags, void *args, int tag);
......
...@@ -780,6 +780,6 @@ xfs_qm_dqrele_all_inodes( ...@@ -780,6 +780,6 @@ xfs_qm_dqrele_all_inodes(
uint flags) uint flags)
{ {
ASSERT(mp->m_quotainfo); ASSERT(mp->m_quotainfo);
xfs_inode_ag_iterator_flags(mp, xfs_dqrele_inode, flags, NULL, xfs_inode_ag_iterator(mp, XFS_AGITER_INEW_WAIT, xfs_dqrele_inode,
XFS_AGITER_INEW_WAIT); flags, NULL, XFS_ICI_NO_TAG);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment