On Thu, 13 Dec 2007 00:09:52 +0100 Karel Zak wrote:

> 
>  When creating a new partition in fdisk, if using +sizeK (e.g.
>  +1000K) the final size is calculated by
> 
>     "size * 1024" (it means KiB)
> 
>  but if using +sizeM:
> 
>     "size * 1000000"  (it means MB)
> 
> 
>  See code:
> 
>                       switch (*line_ptr) {
>                               case 'c':
>                               case 'C':
>                                       if (!display_in_cyl_units)
>                                               i *= heads * sectors;
>                                       break;
>                               case 'K':
>                                       absolute = 1024;
>                                       break;
>                               case 'k':
>                                       absolute = 1000;
>                                       break;
>                               case 'm':
>                               case 'M':
>                                       absolute = 1000000;
>                                       break;
>                               case 'g':
>                               case 'G':
>                                       absolute = 1000000000;
>                                       break;
>                               default:
>                                       break;
>                       }
>                       if (absolute) {
>                               unsigned long long bytes;
>                               unsigned long unit;
> 
>                               bytes = (unsigned long long) i * absolute;
>                               unit = sector_size * units_per_sector;
>                               bytes += unit/2;        /* round */
>                               bytes /= unit;
>                               i = bytes;
>                       }
> 
> 
>  It seems like a chaos between KiB, MiB, (2^N) and kB, MB, GB, (10^N).
> 
>  Does anyone understand this code?  I don't believe it's a bug -- it's
>  too stupid...

It looks to me like someone decided that only K could mean 2^N
and any other suffix means 10^M.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to