[XFS] Fix a porting botch on the realtime subvol growfs code path.
authorNathan Scott <nathans@sgi.com>
Thu, 28 Sep 2006 01:03:53 +0000 (11:03 +1000)
committerTim Shimmin <tes@sgi.com>
Thu, 28 Sep 2006 01:03:53 +0000 (11:03 +1000)
SGI-PV: 955515
SGI-Modid: xfs-linux-melb:xfs-kern:26806a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
fs/xfs/linux-2.6/xfs_linux.h
fs/xfs/xfs_rtalloc.c

index 14d840208e8126e18a19022613ff3a90d691bc32..2b0e0018738a09ab31a19b89152b63ac8e804053 100644 (file)
@@ -332,4 +332,11 @@ static inline __uint64_t roundup_64(__uint64_t x, __uint32_t y)
        return(x * y);
 }
 
+static inline __uint64_t howmany_64(__uint64_t x, __uint32_t y)
+{
+       x += y - 1;
+       do_div(x, y);
+       return x;
+}
+
 #endif /* __XFS_LINUX__ */
index e050987afe182acce938d27c11c434b75b6042da..880c73271c05fac890f3e0dcdd53a4805ae26be0 100644 (file)
@@ -1948,7 +1948,7 @@ xfs_growfs_rt(
         */
        nrextents = nrblocks;
        do_div(nrextents, in->extsize);
-       nrbmblocks = roundup_64(nrextents, NBBY * sbp->sb_blocksize);
+       nrbmblocks = howmany_64(nrextents, NBBY * sbp->sb_blocksize);
        nrextslog = xfs_highbit32(nrextents);
        nrsumlevels = nrextslog + 1;
        nrsumsize = (uint)sizeof(xfs_suminfo_t) * nrsumlevels * nrbmblocks;