Remove unnecessary portion of MiB alignment check
As a partition's position is completely defined by it's starting and ending sector, it is aligned if both boundaries are aligned. The size of a partition just depends on the starting and ending sector. Therefore it is never necessary to also check if the size of the partition is also an exact multiple of MiB. Remove this unnecessary portion of the alignment check when resizing/moving a partition (or copy/pasting into a new partition).
This commit is contained in:
parent
e801689680
commit
3a53d17c8d
|
@ -210,14 +210,13 @@ void Dialog_Base_Partition::prepare_new_partition()
|
||||||
case 1:
|
case 1:
|
||||||
new_partition->alignment = ALIGN_MEBIBYTE;
|
new_partition->alignment = ALIGN_MEBIBYTE;
|
||||||
{
|
{
|
||||||
// If partition size is not an integer multiple of MiB or
|
// If partition start or end sectors are not MiB aligned,
|
||||||
// the start or end sectors are not MiB aligned, and space
|
// and space is available, then add 1 MiB to partition so
|
||||||
// is available, then add 1 MiB to partition so requested
|
// requesting size is kept after snap_to_mebibyte() method
|
||||||
// size is kept after snap_to_mebibyte() method rounding.
|
// rounding.
|
||||||
Sector partition_size = new_partition->sector_end - new_partition->sector_start + 1;
|
Sector partition_size = new_partition->sector_end - new_partition->sector_start + 1;
|
||||||
Sector sectors_in_mib = MEBIBYTE / new_partition->sector_size;
|
Sector sectors_in_mib = MEBIBYTE / new_partition->sector_size;
|
||||||
if ( ( ( partition_size % sectors_in_mib > 0 )
|
if ( ( ( new_partition->sector_start % sectors_in_mib > 0 )
|
||||||
|| ( new_partition->sector_start % sectors_in_mib > 0 )
|
|
||||||
|| ( ( new_partition->sector_end + 1 ) % sectors_in_mib > 0 )
|
|| ( ( new_partition->sector_end + 1 ) % sectors_in_mib > 0 )
|
||||||
)
|
)
|
||||||
&& ( partition_size + sectors_in_mib < total_length )
|
&& ( partition_size + sectors_in_mib < total_length )
|
||||||
|
|
Loading…
Reference in New Issue