From: Christoph Hellwig Date: Mon, 6 May 2019 22:00:29 +0000 (-0400) Subject: xfs: move stat accounting to xfs_bmapi_convert_delalloc X-Git-Tag: v5.1.0-rc0~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=44e165df965045a8dac6e4d322367a097a68671d;p=thirdparty%2Fxfsprogs-dev.git xfs: move stat accounting to xfs_bmapi_convert_delalloc Source kernel commit: 125851ac92d62b966df851c6f34147121020af2f This way we can actually count how many bytes got converted and how many calls we need, unlike in the caller which doesn't have the detailed view. Note that this includes a slight change in behavior as the xs_xstrat_quick is now bumped for every allocation instead of just the one covering the requested writeback offset, which makes a lot more sense. Signed-off-by: Christoph Hellwig Reviewed-by: Brian Foster Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Eric Sandeen --- diff --git a/libxfs/xfs_bmap.c b/libxfs/xfs_bmap.c index 9c312b6ca..60769f3ac 100644 --- a/libxfs/xfs_bmap.c +++ b/libxfs/xfs_bmap.c @@ -4507,6 +4507,9 @@ xfs_bmapi_convert_delalloc( if (WARN_ON_ONCE(!bma.got.br_startblock && !XFS_IS_REALTIME_INODE(ip))) goto out_finish; + XFS_STATS_ADD(mp, xs_xstrat_bytes, XFS_FSB_TO_B(mp, bma.length)); + XFS_STATS_INC(mp, xs_xstrat_quick); + ASSERT(!isnullstartblock(bma.got.br_startblock)); *imap = bma.got; *seq = READ_ONCE(ifp->if_seq);