Re: [xfsprogs] Do we need so many data types for user input?

Eric Sandeen
2017-04-05T14:09:17Z

On 4/5/17 3:26 AM, Jan Tulak wrote:
> On Tue, Apr 4, 2017 at 10:17 PM, Eric Sandeen <sandeen@sandeen.net> wrote:
>> On 4/4/17 2:48 PM, Luis R. Rodriguez wrote:
>>>
>>> And then agsize is capped artificially later via validate_ag_geometry():
>>>
>>> if (agsize < XFS_AG_MIN_BLOCKS(blocklog)) {
>>> ...
>>> if (agsize > XFS_AG_MAX_BLOCKS(blocklog)) {
>>> ...
>>> if (agsize > dblocks) {
>>> ...
>>> if (agsize > XFS_AG_MAX_BLOCKS(blocklog)) {
>>> ...
>>>
>>> Its not clear if this is capped at UINT_MAX or if we need ULLONG_MAX here.
>>
>> .maxval = XFS_AG_MAX_BYTES,
>>
>> #define XFS_AG_MAX_BYTES ((XFS_AG_BYTES(31))) /* 1 TB */
>> #define XFS_AG_BYTES(bblog) ((long long)BBSIZE << (bblog))
>>
>> so the maximum is (long long)(512) << 31
>>
>> so, no - agsize won't fit in a 32 bit var, if that's the question...
>>
>
> Yeah. I think that we can make it uint64 everywhere unless it is
> causing an issue in a specific case with a bit shift or something, and
> just limit the input value where appropriate explicitly.
>
>
> And...
>> And at the end of the day, we are converting all numbers into unsigned
>
> I take back this part, we are going through long long, not unsigned long long.
> Everything else is still valid.

Ok, for those who aren't immersed 24/7 in mkfs ;) can you help us understand
where you're going with this? What's the change you're proposing, and how
does it help?

Thanks,
-Eric

> Jan
>