fdisk_sun: fix partition alignment

When the display unit is sectors, the partition alignment will convert
the partition start to a wrong unit (it should always be in sectors). Fix
this.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Aaro Koskinen 2013-02-09 21:12:26 +02:00 committed by Denys Vlasenko
parent 1bd5ca2f53
commit cf5731bcbd

View File

@ -498,11 +498,14 @@ add_sun_partition(int n, int sys)
else else
first = read_int(scround(start), scround(stop)+1, first = read_int(scround(start), scround(stop)+1,
scround(stop), 0, mesg); scround(stop), 0, mesg);
if (display_in_cyl_units) if (display_in_cyl_units) {
first *= units_per_sector; first *= units_per_sector;
else } else {
/* Starting sector has to be properly aligned */ /* Starting sector has to be properly aligned */
first = (first + g_heads * g_sectors - 1) / (g_heads * g_sectors); first = (first + g_heads * g_sectors - 1) /
(g_heads * g_sectors);
first *= g_heads * g_sectors;
}
if (n == 2 && first != 0) if (n == 2 && first != 0)
printf("\ printf("\
It is highly recommended that the third partition covers the whole disk\n\ It is highly recommended that the third partition covers the whole disk\n\