Re: [PATCH v5 2/2] lib/test-string_helpers.c: add string_get_size() tests

From: Vitaly Kuznetsov
Date: Fri Oct 23 2015 - 08:32:01 EST


Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> writes:

> On Thu, Sep 17 2015, Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote:
>
>> +
>> +static __init void test_string_get_size(void)
>> +{
>> + test_string_get_size_one(16384, 512, STRING_UNITS_2, "8.00 MiB");
>> + test_string_get_size_one(8192, 4096, STRING_UNITS_10, "32.7 MB");
>
> This is a little late,

Thanks for the ping, it turns out this patch was never merged (though
the one fixing the issue was), I'll have to resend.

> but I just noticed that string_get_size with
> STRING_UNITS_10, block size >= 1024 and sufficiently large size seems to
> be broken. Yes, 32.7 MB is what it produces, but is it what it should
> give? 8192*4096 = 33554432, so I'd expect "33.5 MB". It does give that
> when we pass size=65536 and block_size=512; a combination with the same
> product.
>
> I think the problem is that the remainder coming out of the while
> (blk_size >= divisor[units]) loop is dropped on the floor in the
> subsequent size > exp case - but I'm too lazy right now to figure out how
> to fix it.

Ok, I'll take a look.

--
Vitaly
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/