Switch from whole_device flag to TYPE_UNPARTITIONED (#788308)
Remove whole_device flag and replace with new partition type TYPE_UNPARTITIONED. Minimally adapt the remaining code to compile and run. Bug 788308 - Remove whole_device partition flag
This commit is contained in:
parent
c10d80a295
commit
ea269cc929
|
@ -76,7 +76,6 @@ public:
|
|||
const Glib::ustring & partition,
|
||||
int partition_number,
|
||||
PartitionType type,
|
||||
bool whole_device,
|
||||
FILESYSTEM filesystem,
|
||||
Sector sector_start,
|
||||
Sector sector_end,
|
||||
|
@ -94,7 +93,6 @@ public:
|
|||
virtual void resize( const Partition & new_size );
|
||||
|
||||
void Set_Unallocated( const Glib::ustring & device_path,
|
||||
bool whole_device,
|
||||
Sector sector_start,
|
||||
Sector sector_end,
|
||||
Byte_Value sector_size,
|
||||
|
@ -154,7 +152,6 @@ public:
|
|||
Glib::ustring device_path ;
|
||||
int partition_number;
|
||||
PartitionType type;// UNALLOCATED, PRIMARY, LOGICAL, etc...
|
||||
bool whole_device; // Is this a virtual partition spanning a whole unpartitioned disk device?
|
||||
PartitionStatus status; //STAT_REAL, STAT_NEW, etc..
|
||||
PartitionAlignment alignment; //ALIGN_CYLINDER, ALIGN_STRICT, etc
|
||||
FILESYSTEM filesystem ;
|
||||
|
|
|
@ -226,13 +226,12 @@ const Partition & Dialog_Partition_New::Get_New_Partition()
|
|||
// Copy a final few values needed from the original unallocated partition before
|
||||
// resetting the Partition object and populating it as the new partition.
|
||||
Glib::ustring device_path = new_partition->device_path;
|
||||
bool whole_device = new_partition->whole_device;
|
||||
Sector sector_size = new_partition->sector_size;
|
||||
bool inside_extended = new_partition->inside_extended;
|
||||
new_partition->Reset();
|
||||
new_partition->Set( device_path,
|
||||
String::ucompose( _("New Partition #%1"), new_count ),
|
||||
new_count, part_type, whole_device,
|
||||
new_count, part_type,
|
||||
FILESYSTEMS[optionmenu_filesystem.get_history()].filesystem,
|
||||
new_start, new_end,
|
||||
sector_size,
|
||||
|
@ -301,7 +300,6 @@ const Partition & Dialog_Partition_New::Get_New_Partition()
|
|||
{
|
||||
Partition * unallocated = new Partition();
|
||||
unallocated->Set_Unallocated( new_partition->device_path,
|
||||
new_partition->whole_device,
|
||||
new_partition->sector_start,
|
||||
new_partition->sector_end,
|
||||
new_partition->sector_size,
|
||||
|
|
|
@ -90,7 +90,7 @@ void Dialog_Partition_Resize_Move::Resize_Move_Normal( const PartitionVector & p
|
|||
}
|
||||
|
||||
// See if we can allow the start of the file system to move
|
||||
if ( fs.move && ! new_partition->busy && ! new_partition->whole_device )
|
||||
if ( fs.move && ! new_partition->busy && new_partition->type != TYPE_UNPARTITIONED )
|
||||
{
|
||||
set_title( String::ucompose( _("Resize/Move %1"), new_partition->get_path() ) );
|
||||
frame_resizer_base ->set_fixed_start( false ) ;
|
||||
|
|
|
@ -431,7 +431,7 @@ void Dialog_Rescue_Data::read_partitions_from_buffer()
|
|||
|
||||
Partition * part = new Partition();
|
||||
part->Set( dev_path, part_path, part_num,
|
||||
type, false, fs, sec_start, sec_end, sec_size, false, false );
|
||||
type, fs, sec_start, sec_end, sec_size, false, false );
|
||||
this->partitions.push_back_adopt( part );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1100,7 +1100,6 @@ void GParted_Core::set_device_partitions( Device & device, PedDevice* lp_device,
|
|||
lp_partition->num,
|
||||
( lp_partition->type == PED_PARTITION_NORMAL ) ? TYPE_PRIMARY
|
||||
: TYPE_LOGICAL,
|
||||
false,
|
||||
filesystem,
|
||||
lp_partition->geom.start,
|
||||
lp_partition->geom.end,
|
||||
|
@ -1124,7 +1123,6 @@ void GParted_Core::set_device_partitions( Device & device, PedDevice* lp_device,
|
|||
partition_path,
|
||||
lp_partition->num,
|
||||
TYPE_EXTENDED,
|
||||
false,
|
||||
FS_EXTENDED,
|
||||
lp_partition->geom.start,
|
||||
lp_partition->geom.end,
|
||||
|
@ -1557,7 +1555,7 @@ void GParted_Core::insert_unallocated( const Glib::ustring & device_path,
|
|||
if ( partitions .empty() )
|
||||
{
|
||||
Partition * partition_temp = new Partition();
|
||||
partition_temp->Set_Unallocated( device_path, false, start, end, sector_size, inside_extended );
|
||||
partition_temp->Set_Unallocated( device_path, start, end, sector_size, inside_extended );
|
||||
partitions.push_back_adopt( partition_temp );
|
||||
return ;
|
||||
}
|
||||
|
@ -1567,7 +1565,7 @@ void GParted_Core::insert_unallocated( const Glib::ustring & device_path,
|
|||
{
|
||||
Sector temp_end = partitions.front().sector_start - 1;
|
||||
Partition * partition_temp = new Partition();
|
||||
partition_temp->Set_Unallocated( device_path, false, start, temp_end, sector_size, inside_extended );
|
||||
partition_temp->Set_Unallocated( device_path, start, temp_end, sector_size, inside_extended );
|
||||
partitions.insert_adopt( partitions.begin(), partition_temp );
|
||||
}
|
||||
|
||||
|
@ -1583,7 +1581,7 @@ void GParted_Core::insert_unallocated( const Glib::ustring & device_path,
|
|||
Sector temp_start = partitions[t].sector_end + 1;
|
||||
Sector temp_end = partitions[t+1].sector_start - 1;
|
||||
Partition * partition_temp = new Partition();
|
||||
partition_temp->Set_Unallocated( device_path, false, temp_start, temp_end,
|
||||
partition_temp->Set_Unallocated( device_path, temp_start, temp_end,
|
||||
sector_size, inside_extended );
|
||||
partitions.insert_adopt( partitions.begin() + ++t, partition_temp );
|
||||
}
|
||||
|
@ -1594,7 +1592,7 @@ void GParted_Core::insert_unallocated( const Glib::ustring & device_path,
|
|||
{
|
||||
Sector temp_start = partitions.back().sector_end + 1;
|
||||
Partition * partition_temp = new Partition();
|
||||
partition_temp->Set_Unallocated( device_path, false, temp_start, end, sector_size, inside_extended );
|
||||
partition_temp->Set_Unallocated( device_path, temp_start, end, sector_size, inside_extended );
|
||||
partitions.push_back_adopt( partition_temp );
|
||||
}
|
||||
}
|
||||
|
@ -2669,7 +2667,7 @@ bool GParted_Core::resize_move_partition( const Partition & partition_old,
|
|||
const Partition & partition_new,
|
||||
OperationDetail & operationdetail )
|
||||
{
|
||||
if ( partition_new.whole_device )
|
||||
if ( partition_new.type == TYPE_UNPARTITIONED )
|
||||
// Trying to resize/move a non-partitioned whole disk device is a
|
||||
// successful non-operation.
|
||||
return true;
|
||||
|
@ -3454,7 +3452,7 @@ bool GParted_Core::check_repair_maximize( const Partition & partition,
|
|||
|
||||
bool GParted_Core::set_partition_type( const Partition & partition, OperationDetail & operationdetail )
|
||||
{
|
||||
if ( partition.whole_device )
|
||||
if ( partition.type == TYPE_UNPARTITIONED )
|
||||
// Trying to set the type of a partition on a non-partitioned whole disk
|
||||
// device is a successful non-operation.
|
||||
return true;
|
||||
|
@ -3560,7 +3558,7 @@ bool GParted_Core::calibrate_partition( Partition & partition, OperationDetail &
|
|||
PedDisk* lp_disk = NULL ;
|
||||
if ( get_device( partition.device_path, lp_device ) )
|
||||
{
|
||||
if ( partition.whole_device )
|
||||
if ( partition.type == TYPE_UNPARTITIONED )
|
||||
{
|
||||
// Virtual partition spanning whole disk device
|
||||
success = true;
|
||||
|
@ -3622,7 +3620,8 @@ bool GParted_Core::calibrate_partition( Partition & partition, OperationDetail &
|
|||
*/
|
||||
String::ucompose( _("path: %1 (%2)"),
|
||||
partition.get_path(),
|
||||
( partition.whole_device ) ? _("device")
|
||||
( partition.type == TYPE_UNPARTITIONED )
|
||||
? _("device")
|
||||
: _("partition") ) + "\n" +
|
||||
String::ucompose( _("start: %1"), partition .sector_start ) + "\n" +
|
||||
String::ucompose( _("end: %1"), partition .sector_end ) + "\n" +
|
||||
|
@ -3799,7 +3798,7 @@ bool GParted_Core::erase_filesystem_signatures( const Partition & partition, Ope
|
|||
char * buf = NULL ;
|
||||
if ( get_device( partition.device_path, lp_device ) )
|
||||
{
|
||||
if ( partition.whole_device )
|
||||
if ( partition.type == TYPE_UNPARTITIONED )
|
||||
{
|
||||
// Virtual partition spanning whole disk device
|
||||
overall_success = true;
|
||||
|
|
|
@ -45,7 +45,7 @@ void OperationFormat::apply_to_visual( PartitionVector & partitions )
|
|||
g_assert( partition_original != NULL ); // Bug: Not initialised by constructor or reset later
|
||||
g_assert( partition_new != NULL ); // Bug: Not initialised by constructor or reset later
|
||||
|
||||
if ( partition_original->whole_device && partition_new->filesystem == FS_CLEARED )
|
||||
if ( partition_original->type == TYPE_UNPARTITIONED && partition_new->filesystem == FS_CLEARED )
|
||||
{
|
||||
// Make format to cleared whole disk device file system preview as
|
||||
// unallocated device, matching what happens when implemented.
|
||||
|
|
|
@ -40,7 +40,6 @@ void Partition::Reset()
|
|||
messages .clear() ;
|
||||
status = GParted::STAT_REAL ;
|
||||
type = GParted::TYPE_UNALLOCATED ;
|
||||
whole_device = false;
|
||||
alignment = ALIGN_STRICT ;
|
||||
filesystem = GParted::FS_UNALLOCATED ;
|
||||
have_filesystem_label = false;
|
||||
|
@ -62,7 +61,6 @@ void Partition::Set( const Glib::ustring & device_path,
|
|||
const Glib::ustring & partition,
|
||||
int partition_number,
|
||||
PartitionType type,
|
||||
bool whole_device,
|
||||
FILESYSTEM filesystem,
|
||||
Sector sector_start,
|
||||
Sector sector_end,
|
||||
|
@ -74,7 +72,6 @@ void Partition::Set( const Glib::ustring & device_path,
|
|||
this->path = partition;
|
||||
this ->partition_number = partition_number;
|
||||
this ->type = type;
|
||||
this->whole_device = whole_device;
|
||||
this ->filesystem = filesystem;
|
||||
this ->sector_start = sector_start;
|
||||
this ->sector_end = sector_end;
|
||||
|
@ -178,7 +175,6 @@ void Partition::resize( const Partition & new_size )
|
|||
}
|
||||
|
||||
void Partition::Set_Unallocated( const Glib::ustring & device_path,
|
||||
bool whole_device,
|
||||
Sector sector_start,
|
||||
Sector sector_end,
|
||||
Byte_Value sector_size,
|
||||
|
@ -190,7 +186,6 @@ void Partition::Set_Unallocated( const Glib::ustring & device_path,
|
|||
Utils::get_filesystem_string( FS_UNALLOCATED ),
|
||||
-1,
|
||||
TYPE_UNALLOCATED,
|
||||
whole_device,
|
||||
FS_UNALLOCATED,
|
||||
sector_start,
|
||||
sector_end,
|
||||
|
@ -223,9 +218,7 @@ void Partition::set_unpartitioned( const Glib::ustring & device_path,
|
|||
( fstype == FS_UNALLOCATED ) ? Utils::get_filesystem_string( FS_UNALLOCATED )
|
||||
: partition_path,
|
||||
1,
|
||||
// FIXME: Replace with TYPE_UNPARTITIONED when whole_device member is removed
|
||||
( fstype == FS_UNALLOCATED ) ? TYPE_UNALLOCATED : TYPE_PRIMARY,
|
||||
true,
|
||||
TYPE_UNPARTITIONED,
|
||||
fstype,
|
||||
0LL,
|
||||
length - 1LL,
|
||||
|
|
|
@ -1134,7 +1134,6 @@ void Win_GParted::set_valid_operations()
|
|||
|
||||
// Allow partition flag management
|
||||
if ( selected_partition_ptr->status == STAT_REAL &&
|
||||
! selected_partition_ptr->whole_device &&
|
||||
( selected_partition_ptr->type == TYPE_PRIMARY ||
|
||||
selected_partition_ptr->type == TYPE_LOGICAL ||
|
||||
selected_partition_ptr->type == TYPE_EXTENDED ) )
|
||||
|
@ -1243,14 +1242,18 @@ void Win_GParted::set_valid_operations()
|
|||
return ;
|
||||
}
|
||||
|
||||
// PRIMARY and LOGICAL
|
||||
if ( selected_partition_ptr->type == TYPE_PRIMARY || selected_partition_ptr->type == TYPE_LOGICAL )
|
||||
// PRIMARY, LOGICAL and UNPARTITIONED; partitions with supported file system.
|
||||
if ( selected_partition_ptr->type == TYPE_PRIMARY ||
|
||||
selected_partition_ptr->type == TYPE_LOGICAL ||
|
||||
selected_partition_ptr->type == TYPE_UNPARTITIONED )
|
||||
{
|
||||
allow_format( true ) ;
|
||||
|
||||
// only allow deletion of partitions within a partition table
|
||||
// Also exclude open LUKS mappings until open/close is supported
|
||||
if ( ! selected_partition_ptr->whole_device & ! selected_partition_ptr->busy )
|
||||
if ( ( selected_partition_ptr->type == TYPE_PRIMARY ||
|
||||
selected_partition_ptr->type == TYPE_LOGICAL ) &&
|
||||
! selected_partition_ptr->busy )
|
||||
allow_delete( true );
|
||||
|
||||
// Resizing/moving always requires the ability to update the partition
|
||||
|
@ -1922,8 +1925,9 @@ void Win_GParted::activate_paste()
|
|||
g_assert( selected_partition_ptr != NULL ); // Bug: Partition callback without a selected partition
|
||||
g_assert( valid_display_partition_ptr( selected_partition_ptr ) ); // Bug: Not pointing at a valid display partition object
|
||||
|
||||
// Unrecognised whole disk device (See GParted_Core::get_devices_threads(), "unrecognized")
|
||||
if ( selected_partition_ptr->whole_device && selected_partition_ptr->type == TYPE_UNALLOCATED )
|
||||
// Unrecognised whole disk device (See GParted_Core::set_device_from_disk(), "unrecognized")
|
||||
if ( selected_partition_ptr->type == TYPE_UNPARTITIONED &&
|
||||
selected_partition_ptr->filesystem == FS_UNALLOCATED )
|
||||
{
|
||||
show_disklabel_unrecognized( devices [current_device ] .get_path() ) ;
|
||||
return ;
|
||||
|
@ -2079,8 +2083,9 @@ void Win_GParted::activate_new()
|
|||
g_assert( selected_partition_ptr != NULL ); // Bug: Partition callback without a selected partition
|
||||
g_assert( valid_display_partition_ptr( selected_partition_ptr ) ); // Bug: Not pointing at a valid display partition object
|
||||
|
||||
// Unrecognised whole disk device (See GParted_Core::get_devices_threads(), "unrecognized")
|
||||
if ( selected_partition_ptr->whole_device && selected_partition_ptr->type == TYPE_UNALLOCATED )
|
||||
// Unrecognised whole disk device (See GParted_Core::set_device_from_disk(), "unrecognized")
|
||||
if ( selected_partition_ptr->type == TYPE_UNPARTITIONED &&
|
||||
selected_partition_ptr->filesystem == FS_UNALLOCATED )
|
||||
{
|
||||
show_disklabel_unrecognized( devices [current_device ] .get_path() ) ;
|
||||
}
|
||||
|
@ -2331,7 +2336,6 @@ void Win_GParted::activate_format( GParted::FILESYSTEM new_fs )
|
|||
filesystem_ptn.get_path(),
|
||||
filesystem_ptn.partition_number,
|
||||
filesystem_ptn.type,
|
||||
filesystem_ptn.whole_device,
|
||||
new_fs,
|
||||
filesystem_ptn.sector_start,
|
||||
filesystem_ptn.sector_end,
|
||||
|
|
Loading…
Reference in New Issue