libfdisk: (sun) move aligning of the first sector before availability check
So it will check a sector which would be actualy used as the first sector of the partition.
This commit is contained in:
parent
42ee788268
commit
45ce148778
|
@ -566,6 +566,19 @@ static int sun_add_partition(
|
|||
if (fdisk_use_cylinders(cxt))
|
||||
first *= fdisk_get_units_per_sector(cxt);
|
||||
|
||||
if (!fdisk_use_cylinders(cxt)) {
|
||||
/* Starting sector has to be properly aligned */
|
||||
int cs = cxt->geom.heads * cxt->geom.sectors;
|
||||
int x = first % cs;
|
||||
|
||||
if (x) {
|
||||
fdisk_info(cxt, _("Aligning the first sector from %u to %u "
|
||||
"to be on cylinder boundary."),
|
||||
first, first + cs - x);
|
||||
first += cs - x;
|
||||
}
|
||||
}
|
||||
|
||||
/* ewt asks to add: "don't start a partition at cyl 0"
|
||||
However, edmundo@rano.demon.co.uk writes:
|
||||
"In addition to having a Sun partition table, to be able to
|
||||
|
@ -593,20 +606,6 @@ static int sun_add_partition(
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if (!fdisk_use_cylinders(cxt)) {
|
||||
/* Starting sector has to be properly aligned */
|
||||
int cs = cxt->geom.heads * cxt->geom.sectors;
|
||||
int x = first % cs;
|
||||
|
||||
if (x) {
|
||||
fdisk_info(cxt, _("Aligning the first sector from %u to %u "
|
||||
"to be on cylinder boundary."),
|
||||
first, first + cs - x);
|
||||
first += cs - x;
|
||||
}
|
||||
}
|
||||
|
||||
stop = cxt->geom.cylinders * cxt->geom.heads * cxt->geom.sectors; /* ancient */
|
||||
stop2 = stop;
|
||||
for (i = 0; i < cxt->label->nparts_max; i++) {
|
||||
|
|
Loading…
Reference in New Issue