On Thu, May 06, 2004 at 09:27:02PM +0200, Johann Lombardi wrote:
> > the last ag can be smaller, so no, not quite equal.
> > the test you're failing is whether dblocks > agcount * agblocks.
I think you're actually failing the third check of the three...
if (unlikely(
sbp->sb_dblocks == 0 ||
sbp->sb_dblocks >
(xfs_drfsbno_t)sbp->sb_agcount * sbp->sb_agblocks ||
sbp->sb_dblocks < (xfs_drfsbno_t)(sbp->sb_agcount - 1) *
sbp->sb_agblocks + XFS_MIN_AG_BLOCKS)) {
> > 6553600 is a very.... interesting number for dblocks, strikes me
> > as too round. :)
> >
No, I think this is OK.
> * sb 0 *
> ********
> magicnum = 0x58465342
> blocksize = 16384
> dblocks = 6553600
16k blocksize? What type of machine have you got there? (i.e.
do you know what the kernels pagesize is? - you cannot use a
blocksize larger than your pagesize on Linux).
> agblocks = 262144
> agcount = 26
OK, this is busted. It looks like quite an old mkfs bug, but
my memorys cloudy going back so far - I suspect this is a bug
that was fixed early-2002:
xfsprogs-2.0.6 (30 May 2002)
- ...
- Fix the way mkfs.xfs round downs the device when the last
AG is smaller than the minimum AG size.
- ...
What does mkfs.xfs -V say for you?
cheers.
--
Nathan
|