History log of /haiku/src/add-ons/disk_systems/intel/PartitionMapAddOn.cpp
Revision Date Author Comments
# af435dd1 09-Dec-2020 X512 <danger_mail@list.ru>

libroot: remove delete_driver_settings

It is not present in BeOS R5 and it just call unload_driver_settings.

Replace delete_driver_settings usages with unload_driver_settings.
Keep the symbol on x86 for binary compatibility.

Change-Id: I1382710e3a4cb5c65d1249ea0e5880891e6800e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3485
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 7534e587 23-Mar-2021 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

intel partition map: use more specific errors

It is hard to know what is wrong otherwise.

Change-Id: I47658502221dfd7f320ae873cc92f683d7ae3548
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3821
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 9274ca84 11-Mar-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel partition map: implement changing the active partition

Implement the needed parts in both the userland add-on (loaded in
DriveSetup) and the kernel side one (used by disk system manager in the
kernel).

This allows changing the active partition in DriveSetup.

Change-Id: Ia65768b5f8f11d626ef24621ae7735723dcbc39d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3771
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 8f5c5225 08-Mar-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

partitioning_system: get the correct parameter editor

When editing a partition parameters, we want to get the editor from the
parent partition. This will be the editor used to set the active
partition on Intel partition map, for example. The code testing if this
is supported and the code to apply the parameters did this, but the code
to get the parameter editor didn't.

Fixes the remaining part of #11641.

Change-Id: I25a6cf11fe315b8f6e118529f2395816101b7fe1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3766
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 0fbba5d7 23-Jan-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

disk_system add-ons: fix initialization

We never told the disk system that the partition had been initialized.
As a result, the disk device jobs to clean and reinit the partition
table were not run. This would lead to:
- The bootloader code not being replaced with our MBR code
- Old partitions not being removed from the disk

This would maybe solve itself when creating a partition, but it's better
to do these changes immediately when the user asks to initialize the
disk.

Fixes #9108.

Change-Id: Icc8ebe3830d948367852a57cf46d034b0f1c6c19
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3673
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>


# b08627f3 04-May-2018 Murai Takashi <tmurai01@gmail.com>

Fix catching polymorphic type by value

Replace catching polymorphic type std::bad_alloc 'by value'
with 'by reference'.
Pointed by gcc8


# 31c3214e 03-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Revert "Intel partition: activate the first created partition."

This reverts commit d0a662e20a6eb37a59883c2c9377604f8c94cf03.

It is better to handle this in Installer when we know which partition
will actually be the system one.


# d0a662e2 31-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Intel partition: activate the first created partition.

The default MBR relies on at least one partition being active. The first
one sounds like a good choice.

Fixes #7930.


# 33b9016d 14-Feb-2013 Axel Dörfler <axeld@pinc-software.de>

intel disk_system: Renamed file to match class name.

* Renamed CreationParameterEditor.(cpp|h) to PrimaryParameterEditor.(cpp|h)
as that's what the sole class in there is called.


# 8940ad25 12-Feb-2013 Axel Dörfler <axeld@pinc-software.de>

DriveSetup: Added support for changing partition parameters.

* Does not seem to work yet, though. The intel disk system should support it
now, but apparently the partition's delegate is not yet fully initialized
for whatever reason.


# 1b266201 12-Feb-2013 Axel Dörfler <axeld@pinc-software.de>

Cleanup.

* There is no BDiskSystemAddOn::GetInitializationParameterEditor() method,
and it's therefore never being called.


# 2077b23f 23-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

intel disk system: restrict maximum supported size.

* The MBR can only address 2^32 blocks.
* This prevents you from initializing a disk larger than 2TB with a block
size of 512 bytes.


# 2ffea8e8 17-Jun-2012 Axel Dörfler <axeld@pinc-software.de>

Minor cleanup, no functional change.


# 2f3ce2bf 23-Oct-2010 Bryce Groff <bgroff@hawaii.edu>

DriveSetup:
- File system is now only displayed when the partition actually has a filesystem.
- Now checks if the DiskSystem supports initializing.
- Updated the *ParamsPanels, as well as, the Disk System add-ons to use the new storage api changes (see below).

Storage Kit:
- Simplified the parameters editor system. Now all parameter editor requests go through a single function, GetParameterEditor, and pass a B_PARAMETER_EDITOR_TYPE to request a particular parameter editor.
- Moved DiskDeviceAddOnManager.h to the headers directory, as it is now required by InitParamsPanel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39115 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8efbc276 02-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Further cleanup while I was at it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37334 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 10d05234 02-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed questionable use of strlen().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37333 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f1143621 26-Jun-2010 Wim van der Meer <wpjvandermeer@gmail.com>

Compiler warning fixes. No functional change.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37270 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a0a77e2 03-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff with small change by myself:
* Don't leak the driver settings handle.
* No need to get the "active" parameter in ValidateCreateChild() -- either
way is fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32098 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f96148c 20-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff with changes by myself:
* Added missing name parameter to the partitioning system module child creation
and child creation validation hooks. Pass the name to them.
* Added BPartitionParameterEditor interface, which is/will be used for editing
disk system specific parameters.
* Implemented partition parameter editors for BFS initialization and Intel
partition map child creation.
* Fixed the incorrect supported child partition type iteration in the Intel
partition map add-on. It does now return actual types.
* Handle the "active" flag parameter in the Intel partitioning system module.
* DriveSetup:
- Replaced the "Create" submenu by a simple menu item. The type can now by
chosen in the dialog.
- Make use of initialization and child creation parameter editors. Some
non-generic code has been moved to the respective editor implementations
(BFS, intel partitioning system).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31658 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89175c4c 25-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff: Implemented DeleteChild().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7ba970b9 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

Added optional tracing facilities.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30690 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5f1b31de 14-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the intel disk_systems add-on independent from the block size as well.
* This also fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af4ad10c 05-Feb-2008 Stephan Aßmus <superstippi@gmx.de>

I took the liberty of implementing GetNextSupportedType(), which is needed
to be able to call BPartition::GetNextSupportedChildType(). For the
PartitionMapAddOn, the types should be either primary or extended, depending
on the number of empty primary partitions and the existance of one
extended partition. DriveSetup shows "Intel Primary Partition" and
"Intel Extended Partition" in the Create menu now. Ingo, please review,
maybe I didn't understand the plan correctly. Also, I tried to follow the
code path, which is quite nested, and am pretty confused.. For example,
I didn't find the place where the CreateChildJob is finally created. Is this
missing yet?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91c21ff4 13-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Beginnings of a userland intel disk system add-on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22542 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 31c3214ef203c91c0dbabeb46e8abe114cb7247a 03-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Revert "Intel partition: activate the first created partition."

This reverts commit d0a662e20a6eb37a59883c2c9377604f8c94cf03.

It is better to handle this in Installer when we know which partition
will actually be the system one.


# d0a662e20a6eb37a59883c2c9377604f8c94cf03 31-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Intel partition: activate the first created partition.

The default MBR relies on at least one partition being active. The first
one sounds like a good choice.

Fixes #7930.


# 33b9016ddd9ba01103a2854ff08ba52a8d0cda0e 14-Feb-2013 Axel Dörfler <axeld@pinc-software.de>

intel disk_system: Renamed file to match class name.

* Renamed CreationParameterEditor.(cpp|h) to PrimaryParameterEditor.(cpp|h)
as that's what the sole class in there is called.


# 8940ad259ab803eff8176766a73f8f531142c3b6 12-Feb-2013 Axel Dörfler <axeld@pinc-software.de>

DriveSetup: Added support for changing partition parameters.

* Does not seem to work yet, though. The intel disk system should support it
now, but apparently the partition's delegate is not yet fully initialized
for whatever reason.


# 1b2662019b27ae0e478131506e56d2380d9cf4b5 12-Feb-2013 Axel Dörfler <axeld@pinc-software.de>

Cleanup.

* There is no BDiskSystemAddOn::GetInitializationParameterEditor() method,
and it's therefore never being called.


# 2077b23f14bdb01492cdc481bf5898446ba939aa 23-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

intel disk system: restrict maximum supported size.

* The MBR can only address 2^32 blocks.
* This prevents you from initializing a disk larger than 2TB with a block
size of 512 bytes.


# 2ffea8e8a397928e323dd48d9fb244a77ffbfbe2 17-Jun-2012 Axel Dörfler <axeld@pinc-software.de>

Minor cleanup, no functional change.


# 2f3ce2bf7ee30d5039ca706f86b51e3145a663f5 23-Oct-2010 Bryce Groff <bgroff@hawaii.edu>

DriveSetup:
- File system is now only displayed when the partition actually has a filesystem.
- Now checks if the DiskSystem supports initializing.
- Updated the *ParamsPanels, as well as, the Disk System add-ons to use the new storage api changes (see below).

Storage Kit:
- Simplified the parameters editor system. Now all parameter editor requests go through a single function, GetParameterEditor, and pass a B_PARAMETER_EDITOR_TYPE to request a particular parameter editor.
- Moved DiskDeviceAddOnManager.h to the headers directory, as it is now required by InitParamsPanel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39115 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8efbc2761ef786b5e57a8202bcd742e9c3a8cef0 02-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Further cleanup while I was at it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37334 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 10d0523409a858bc1abb7437c991f2f0ad1e3fca 02-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed questionable use of strlen().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37333 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f1143621cac203ab3c7da3715e7c2f06c131cfe6 26-Jun-2010 Wim van der Meer <wpjvandermeer@gmail.com>

Compiler warning fixes. No functional change.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37270 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a0a77e2fa708b50823f4de27facb05d9d888dd2 03-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff with small change by myself:
* Don't leak the driver settings handle.
* No need to get the "active" parameter in ValidateCreateChild() -- either
way is fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32098 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f96148cacdbf4ed476c22e6e8148b7f44a91d9e 20-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff with changes by myself:
* Added missing name parameter to the partitioning system module child creation
and child creation validation hooks. Pass the name to them.
* Added BPartitionParameterEditor interface, which is/will be used for editing
disk system specific parameters.
* Implemented partition parameter editors for BFS initialization and Intel
partition map child creation.
* Fixed the incorrect supported child partition type iteration in the Intel
partition map add-on. It does now return actual types.
* Handle the "active" flag parameter in the Intel partitioning system module.
* DriveSetup:
- Replaced the "Create" submenu by a simple menu item. The type can now by
chosen in the dialog.
- Make use of initialization and child creation parameter editors. Some
non-generic code has been moved to the respective editor implementations
(BFS, intel partitioning system).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31658 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89175c4c506780e6b7c04028ddb8cf547321e0bf 25-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff: Implemented DeleteChild().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7ba970b9cc27b16d9c2c447530113795a931c890 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

Added optional tracing facilities.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30690 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5f1b31debdf97da331be6e97a6c2bc5899e2423a 14-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the intel disk_systems add-on independent from the block size as well.
* This also fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af4ad10c3e45b32850f1043af392821e6ba7f341 05-Feb-2008 Stephan Aßmus <superstippi@gmx.de>

I took the liberty of implementing GetNextSupportedType(), which is needed
to be able to call BPartition::GetNextSupportedChildType(). For the
PartitionMapAddOn, the types should be either primary or extended, depending
on the number of empty primary partitions and the existance of one
extended partition. DriveSetup shows "Intel Primary Partition" and
"Intel Extended Partition" in the Create menu now. Ingo, please review,
maybe I didn't understand the plan correctly. Also, I tried to follow the
code path, which is quite nested, and am pretty confused.. For example,
I didn't find the place where the CreateChildJob is finally created. Is this
missing yet?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91c21ff4d651a5b0fe6afd611d09fc7a314ca8dd 13-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Beginnings of a userland intel disk system add-on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22542 a95241bf-73f2-0310-859d-f6bbb57e9c96