Messages in this thread | | | From | Rasmus Villemoes <> | Subject | Re: [PATCH v5 2/2] lib/test-string_helpers.c: add string_get_size() tests | Date | Wed, 21 Oct 2015 12:19:13 +0200 |
| |
On Thu, Sep 17 2015, Vitaly Kuznetsov <vkuznets@redhat.com> 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, 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.
Rasmus
| |