Re: [PATCH v2 1/4] lib/string_helpers: export string_units_{2,10} for others

From: Andy Shevchenko
Date: Sat Jan 23 2016 - 06:51:15 EST


On Sat, Jan 23, 2016 at 7:13 AM, James Bottomley
<James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 2016-01-21 at 17:22 +0200, Andy Shevchenko wrote:
>> There is one user coming which would like to use those string arrays.
>> It might
>> be useful for any other user in the future.
>
> Well, let's not do it until we have an actual consumer because that
> will help us get the interface correct.

First consumer is in patch 3.

>> +#define STRING_UNITS_10_NUM 9
>> +#define STRING_UNITS_2_NUM 9
>> +
>> +extern const char *const string_units_10[STRING_UNITS_10_NUM];
>> +extern const char *const string_units_2[STRING_UNITS_2_NUM];
>> +

>> --- a/lib/string_helpers.c
>> +++ b/lib/string_helpers.c
>> @@ -13,6 +13,15 @@
>> #include <linux/string.h>
>> #include <linux/string_helpers.h>
>>
>> +const char * const string_units_10[STRING_UNITS_10_NUM] = {
>> + "B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB",
>> +};
>> +EXPORT_SYMBOL(string_units_10);
>> +const char * const string_units_2[STRING_UNITS_2_NUM] = {
>> + "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB",
>> +};
>> +EXPORT_SYMBOL(string_units_2);
>> +
>
> This is a pretty silly thing to do; how does someone who adds a unit to
> one of the string_units know to increment STRING_UNITS_X_NUM? Even if
> you add a comment admonishing them to do it, it's far better to have
> this calculated at compile time like it was before this patch.

Okay, I will think how to do that.

--
With Best Regards,
Andy Shevchenko