On Wed, Mar 28, 2012 at 03:35:03PM -0500, Eric Sandeen wrote: > When specifying a too-small agcount with stripe geometry, > mkfs.xfs can fail with a somewhat unexpected message: > > $ mkfs.xfs -f -d file,name=fsfile,size=9764864000b,agcount=31,su=512k,sw=20 > Allocation group size (314995613) is not a multiple of the stripe unit (128) > > This strikes me as especially odd because normally, mkfs.xfs > tries to fix up the agsize to be a stripe multiple. The only way > we get to the above error message is if ag _size_ is out of bounds; > exiting with an error about alignment rather than about size > seems odd. > > Maybe below is too clever, but if by the time we've decided that > agsize is out of bounds after rounding it both up and down, > as necessary, to get to a stripe-width multiple, calling > validate_ag_geometry() will give us the same standard message as > if we had specified no stripe geometry: > > $ mkfs/mkfs.xfs -f -d file,name=fsfile,size=9764864000b,agcount=31,su=512k,sw=20 > agsize (314995613b) too big, maximum is 268435455 blocks > Usage: mkfs.xfs > ... > > $ mkfs/mkfs.xfs -f -d file,name=fsfile,size=9764864000b,agcount=31 > agsize (314995613b) too big, maximum is 268435455 blocks > Usage: mkfs.xfs > ... > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Makes sense. Consider it: Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> As an aside, do you want to touch that error message: agsize (314995613b) too big, maximum is 268435455 blocks so that it uses the same notation for blocks for both numbers. i.e. something like: agsize (314995613 blocks) too big, maximum is 268435455 blocks Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs