xfs: remove indirect calls from xfs_inode_walk{,_ag}
authorDarrick J. Wong <djwong@kernel.org>
Mon, 31 May 2021 18:32:00 +0000 (11:32 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 3 Jun 2021 22:56:03 +0000 (15:56 -0700)
commitf427cf5c6236acdf72b4d8564b2e18937c4cc8d8
tree4cdfb2662ee6da7f9bc33af76e7ca01fbb9cb906
parent7fdff52623b4df9c9ae665fe8bb727978c29414e
xfs: remove indirect calls from xfs_inode_walk{,_ag}

It turns out that there is a 1:1 mapping between the execute and goal
parameters that are passed to xfs_inode_walk_ag:

xfs_blockgc_scan_inode <=> XFS_ICWALK_BLOCKGC
xfs_dqrele_inode <=> XFS_ICWALK_DQRELE

Because of this exact correspondence, we don't need the execute function
pointer and can replace it with a direct call.

For the price of a forward static declaration, we can eliminate the
indirect function call.  This likely has a negligible impact on
performance (since the execute function runs transactions), but it also
simplifies the function signature.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/xfs_icache.c