mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 00:54:09 +08:00
xfs: create a helper to count per-device inode block usage
Create a helper to compute the number of blocks that a file has allocated from the data realtime volumes. This patch was split out to reduce the size of the upcoming quotacheck patch. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
564fee6d20
commit
ebd610fe82
@ -3755,3 +3755,19 @@ xfs_ifork_zapped(
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/* Compute the number of data and realtime blocks used by a file. */
|
||||
void
|
||||
xfs_inode_count_blocks(
|
||||
struct xfs_trans *tp,
|
||||
struct xfs_inode *ip,
|
||||
xfs_filblks_t *dblocks,
|
||||
xfs_filblks_t *rblocks)
|
||||
{
|
||||
struct xfs_ifork *ifp = xfs_ifork_ptr(ip, XFS_DATA_FORK);
|
||||
|
||||
*rblocks = 0;
|
||||
if (XFS_IS_REALTIME_INODE(ip))
|
||||
xfs_bmap_count_leaves(ifp, rblocks);
|
||||
*dblocks = ip->i_nblocks - *rblocks;
|
||||
}
|
||||
|
@ -623,5 +623,7 @@ int xfs_inode_reload_unlinked_bucket(struct xfs_trans *tp, struct xfs_inode *ip)
|
||||
int xfs_inode_reload_unlinked(struct xfs_inode *ip);
|
||||
|
||||
bool xfs_ifork_zapped(const struct xfs_inode *ip, int whichfork);
|
||||
void xfs_inode_count_blocks(struct xfs_trans *tp, struct xfs_inode *ip,
|
||||
xfs_filblks_t *dblocks, xfs_filblks_t *rblocks);
|
||||
|
||||
#endif /* __XFS_INODE_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user