[PATCH] mkfs.xfs: print std info if agcount makes agsize out of bounds
Eric Sandeen
sandeen at redhat.com
Wed Mar 28 20:53:54 CDT 2012
On 3/28/12 8:24 PM, Dave Chinner wrote:
> 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 at redhat.com>
>
> Makes sense. Consider it:
>
> Reviewed-by: Dave Chinner <dchinner at redhat.com>
>
> 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
Good idea, will do.
-Eric
> Cheers,
>
> Dave.
More information about the xfs
mailing list