History log of /haiku/headers/private/kernel/disk_device_manager/KPartition.h
Revision Date Author Comments
# 688acf41 15-Sep-2022 Jérôme Duval <jerome.duval@gmail.com>

add physical_block_size field where applicable

only scsi_disk checks the actual value, other drivers take the logical block size.

This change reports the physical block size from the disk rather than the block
size used by IDE/SATA/SCSI commands. On typical modern SATA disks, the SATA
commands will use 512 byte blocks, but the disk will actually read and write
4K blocks internally. This is only of importance for partition alignment for DriveSetup,
and is independant of file systems or partitioning systems. This could also influence
the recommended block size for some file systems.

Change-Id: Id0f2e22659e89fcef64c1f8d04f81cd68995e01f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5667
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 4ed39e6a 28-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

disk device manager: check that partitions are unmounted before uninitializing.

when uninitializing a partition or a disk (removing the partition
table), check that all partitions from that table are unmounted, as they
are about to become invalid.

Fixes #8827.


# 74e8797f 01-Sep-2009 Stephan Aßmus <superstippi@gmx.de>

Fixed the build. Axel is probably going to commit the cleaned up header soon.


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


# a365e1cf 11-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff, some changes by myself:
* devfs:
- devfs_[un]publish_partition(): They no longer get the partition path as
parameter, but rather the device path and the partition name.
- Added devfs_rename_partition(), which renames an already published
partition node.
* KPartition/KDiskDevice:
- Replaced the fPublished flag by fPublishedName, the name under which the
partition is published. This simplifies UnpublishDevice() and makes it
practically infallible.
- Added GetFileName(), which only returns the partition's file name.
Simplified GetPath() by using it.
- When a partition is added/removed the subsequent sibling partitions get a
new index. Now we also rename their published device nodes (and those of
their descendents). When something goes wrong we unpublish the concerned
partition's device to be on the safe side. Would be a shame to accidentally
format the wrong partition, eh? :-)


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


# 1cc5e469 08-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added offset and size parameters to create_child_partition() and
KPartition::CreateChild(). CreateChild() calls AddChild(), which publishes
the new partition, though at that point offset and size were not set, so that
the published devices would not be usable.


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


# 8531599a 30-Jun-2008 Axel Dörfler <axeld@pinc-software.de>

* KDiskDeviceManager::RescanDiskSystems() now also rescans all partitions with
the newly found disk systems.
* _ScanPartition() now allows to restrict the disk systems to a predefined set.
* _ScanPartition() now even scans partitions that already have a disk system
assigned; if a better one is found, the existing one is replaced. It will
ignore mounted or partitions with children, though.
* KPartition now also stores the priority of the disk system assigned to it.


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


# b3a5629b 12-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

axeld + bonefish:
* Unmount when uninitializing a partition.
* Finished the media checker implementation, i.e. we rescan when a media
was inserted and uninitialize when ejected.
* Turned the disk device media checker from a kernel daemon into a thread.


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


# 2128ea4f 04-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added IsBusy(bool) version, which optionally also checks the
descendants.


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


# 53715fe0 01-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of the B_PARTITION_DESCENDANT_BUSY flag.
* Added CheckAndMarkBusy() and UnmarkBusy() methods to KPartition.


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


# 8354dac7 01-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Folded KPhysicalPartition into KPartition. Removed the notion of shadow
partitions from the disk device manager.


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


# 6b6f6b72 06-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Partitions do now know whether they have already been published and
avoid attempts to publish a second time.


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


# d86af8ce 27-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Style cleanup.
* Moved method documentation from headers to source files.
* Fixed small problems (memory leaks, unsafe string duplication,...).
* Added TODOs where I spotted problems.


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


# 2dc6403d 26-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Addition of write support to the disk device manager. Courtesy of Tomas
Kucera and Jan Matejek.


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


# 0707c103 27-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

KPartition::GetPath() now uses the new KPath class, which makes it more convenient to use.


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


# 58bdbab6 28-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a KPartition listener mechanism and made use of it to keep shadow partitions with the corresponding physical ones in sync.


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


# 69cb08c0 28-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

UninitializeContents() returns an error code now.


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


# dafaf4c3 21-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added IsUninitialized() convenience method.


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


# 5c699c67 21-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Add a field mount_cookie to the partition_data structure and
respective setter/getter methods to the KPartition class.
If a partition is mounted, the field will contain the cookie the
FS's mount() hook passed back to the VFS. This way the FS has
access to its internal data structures. We need the cooperation
of the VFS to get the cookie.


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


# cc6edbdf 03-Aug-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added VisitEachDescendant().
* Added {Add,Clear}Flags() which are more comfortable than SetFlags() in
most cases.
* On construction the `busy' and `descendant busy' flags are set.


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


# bdbbcfaf 31-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added CountDescendants().


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


# 738e4a70 29-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Support for the added partition content size attribute.


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


# 1d867535 24-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added some more support for tracking changes.


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


# 02885b7d 21-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of SetContentType(). It is set automatically now, to the
PrettyName() of the responsible disk system.
* Added change counter support and changes tracking.
* Added UninitializeContents().


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


# 5d22fa96 14-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Shadow partition related changes:
* Fixed handling of the deletion (removal) of shadow partitions. Formerly
the shadow partition corresponding to the disk device wasn't removed
properly.
* Added a shadow_id field to the user_partition_data structure which
contains the ID of the shadow partition, if it is one. The id field
will hold the ID of the physical partition.


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


# c54d68a8 08-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Should have waited a few more minutes... Renamed the methods {B,K}Partition::Is{Mountable,Partitionable}() to Contains{File,Partitioning}System(). Similar change for the respective flags (B_PARTITION_{MOUNTABLE,PARTITIONABLE}).


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


# c0455c33 06-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* More shadow partition support.
* Writing disk device/partition data into userland buffer added.
* Migration of some definitions into <DiskDeviceDefs.h> header.
* Small bug fixes.


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


# a162af3b 04-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Made KPartition abstract and derived two classes, KPhysicalPartition
and KShadowPartition from it. KPhysicalPartition represents a partition
that exists on-disk, while KShadowPartition is a partition edited by the
API user, but not yet written to disk. Related changes in other classes.


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


# 5b489f6f 02-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Got rid of the List template class in the disk device manager source dir. Instead we use the Vector based Kernel Utils classes now. Various related changes.


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


# b23394f9 24-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Implemented what was left to do for KDiskDevice and KPartition
management regarding removal and deletion of objects.
* Fixed the file disk system related stuff. KFileDiskSystem now uses the
virtualdrive driver. The former method was seemed simple and brilliant,
but the B_SET_PARTITION ioctl wouldn't work.


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


# 9007acae 22-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Dump(). Small fixes.


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


# f7672ebc 13-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Made {Publish,Unpublish}Device() virtual and implemented them in
KPartition and as no-ops in KDiskDevice.
* Prefixed partition names with "obos_" to not interfere with R5's
partition names.


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


# ef9b1b52 12-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a preliminary disk device scanning in KDiskDeviceManager.
Some changes to KPartition, KDiskDevice, KDiskSystem on this way.
Still missing is KPartition::Publish() and its invocation in
KDiskDeviceManager. Then everything should be in place to start with
porting the scanning parts of our disk system modules.


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


# 1bf21e6a 11-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added CreateChild().
* Added Publish/UnpublishDevice(). Not implemented yet.
* small fixes


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


# 0b6c74bb 10-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented some more bits of KPartition. Added a very useful Open() method.


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


# 4c212afe 09-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Headers for the disk device manager. Very early state.


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


# 4ed39e6a62d82721004656c5a1ecf19cb8e73e75 28-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

disk device manager: check that partitions are unmounted before uninitializing.

when uninitializing a partition or a disk (removing the partition
table), check that all partitions from that table are unmounted, as they
are about to become invalid.

Fixes #8827.


# 74e8797f5e457aa3df0135f11ea998ad5aba9738 01-Sep-2009 Stephan Aßmus <superstippi@gmx.de>

Fixed the build. Axel is probably going to commit the cleaned up header soon.


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


# a365e1cfbb80d7d2ee91e6515fa7090906cd5a4e 11-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Bryce Groff, some changes by myself:
* devfs:
- devfs_[un]publish_partition(): They no longer get the partition path as
parameter, but rather the device path and the partition name.
- Added devfs_rename_partition(), which renames an already published
partition node.
* KPartition/KDiskDevice:
- Replaced the fPublished flag by fPublishedName, the name under which the
partition is published. This simplifies UnpublishDevice() and makes it
practically infallible.
- Added GetFileName(), which only returns the partition's file name.
Simplified GetPath() by using it.
- When a partition is added/removed the subsequent sibling partitions get a
new index. Now we also rename their published device nodes (and those of
their descendents). When something goes wrong we unpublish the concerned
partition's device to be on the safe side. Would be a shame to accidentally
format the wrong partition, eh? :-)


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


# 1cc5e46925a7e64708d7565fe2c1ac3f448c9d58 08-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added offset and size parameters to create_child_partition() and
KPartition::CreateChild(). CreateChild() calls AddChild(), which publishes
the new partition, though at that point offset and size were not set, so that
the published devices would not be usable.


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


# 8531599a27883696031d0ab3358dc3e78a3b29ce 30-Jun-2008 Axel Dörfler <axeld@pinc-software.de>

* KDiskDeviceManager::RescanDiskSystems() now also rescans all partitions with
the newly found disk systems.
* _ScanPartition() now allows to restrict the disk systems to a predefined set.
* _ScanPartition() now even scans partitions that already have a disk system
assigned; if a better one is found, the existing one is replaced. It will
ignore mounted or partitions with children, though.
* KPartition now also stores the priority of the disk system assigned to it.


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


# b3a5629b9ed3f11caee172635987ea531ae73d35 12-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

axeld + bonefish:
* Unmount when uninitializing a partition.
* Finished the media checker implementation, i.e. we rescan when a media
was inserted and uninitialize when ejected.
* Turned the disk device media checker from a kernel daemon into a thread.


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


# 2128ea4f31e90c6ee53abab1637540b81a3e381a 04-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added IsBusy(bool) version, which optionally also checks the
descendants.


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


# 53715fe060e108eb46185d16a710bce4f0cbaa61 01-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of the B_PARTITION_DESCENDANT_BUSY flag.
* Added CheckAndMarkBusy() and UnmarkBusy() methods to KPartition.


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


# 8354dac78e2ce5da2e5ee1826c37dbc12cacbd18 01-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Folded KPhysicalPartition into KPartition. Removed the notion of shadow
partitions from the disk device manager.


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


# 6b6f6b7240b30efa3f52b6c4a93e63e049ba5508 06-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Partitions do now know whether they have already been published and
avoid attempts to publish a second time.


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


# d86af8ce27128b44563a6e7f97d2ed2b94511aab 27-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Style cleanup.
* Moved method documentation from headers to source files.
* Fixed small problems (memory leaks, unsafe string duplication,...).
* Added TODOs where I spotted problems.


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


# 2dc6403ddcbaad94bc4df48bc434379275965f7e 26-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Addition of write support to the disk device manager. Courtesy of Tomas
Kucera and Jan Matejek.


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


# 0707c1037726ce295f87031f27ca5215bbc527ec 27-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

KPartition::GetPath() now uses the new KPath class, which makes it more convenient to use.


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


# 58bdbab6266118cd1f81c3bb5285a3e3f21742c7 28-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a KPartition listener mechanism and made use of it to keep shadow partitions with the corresponding physical ones in sync.


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


# 69cb08c01ce7cb6e47fbfde355ae5c29cd45ba47 28-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

UninitializeContents() returns an error code now.


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


# dafaf4c3609ab315c8212f2695bbab364a0a0a0f 21-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added IsUninitialized() convenience method.


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


# 5c699c6735366a34a01a5007f2e7c4ddde27f022 21-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Add a field mount_cookie to the partition_data structure and
respective setter/getter methods to the KPartition class.
If a partition is mounted, the field will contain the cookie the
FS's mount() hook passed back to the VFS. This way the FS has
access to its internal data structures. We need the cooperation
of the VFS to get the cookie.


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


# cc6edbdf8fa8faaf374c1809134995317f003c4c 03-Aug-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added VisitEachDescendant().
* Added {Add,Clear}Flags() which are more comfortable than SetFlags() in
most cases.
* On construction the `busy' and `descendant busy' flags are set.


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


# bdbbcfaf1690455db6989398b5a3caabdb13d4da 31-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added CountDescendants().


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


# 738e4a700bed894c7bf11f36e46c14ce6ba6309e 29-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Support for the added partition content size attribute.


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


# 1d8675355fd612d1669395aa8c14292d8f1319e5 24-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added some more support for tracking changes.


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


# 02885b7d6e0ecd2cbe2a7b937d99d1ff86597d59 21-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of SetContentType(). It is set automatically now, to the
PrettyName() of the responsible disk system.
* Added change counter support and changes tracking.
* Added UninitializeContents().


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


# 5d22fa967af0e2e326ad9f431bce17270eb68941 14-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Shadow partition related changes:
* Fixed handling of the deletion (removal) of shadow partitions. Formerly
the shadow partition corresponding to the disk device wasn't removed
properly.
* Added a shadow_id field to the user_partition_data structure which
contains the ID of the shadow partition, if it is one. The id field
will hold the ID of the physical partition.


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


# c54d68a84e80123ad2d4bad33fb60d59dfa4ed06 08-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Should have waited a few more minutes... Renamed the methods {B,K}Partition::Is{Mountable,Partitionable}() to Contains{File,Partitioning}System(). Similar change for the respective flags (B_PARTITION_{MOUNTABLE,PARTITIONABLE}).


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


# c0455c33b83712dcb67ed48108894077d40fba2c 06-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* More shadow partition support.
* Writing disk device/partition data into userland buffer added.
* Migration of some definitions into <DiskDeviceDefs.h> header.
* Small bug fixes.


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


# a162af3b0eefe4930a6816c02ec436792cc45bdb 04-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Made KPartition abstract and derived two classes, KPhysicalPartition
and KShadowPartition from it. KPhysicalPartition represents a partition
that exists on-disk, while KShadowPartition is a partition edited by the
API user, but not yet written to disk. Related changes in other classes.


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


# 5b489f6f16f289684911c8659573fd597f16cb4f 02-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Got rid of the List template class in the disk device manager source dir. Instead we use the Vector based Kernel Utils classes now. Various related changes.


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


# b23394f957067f7b7da55393b0ea1cd15c1b3728 24-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Implemented what was left to do for KDiskDevice and KPartition
management regarding removal and deletion of objects.
* Fixed the file disk system related stuff. KFileDiskSystem now uses the
virtualdrive driver. The former method was seemed simple and brilliant,
but the B_SET_PARTITION ioctl wouldn't work.


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


# 9007acaee355e498c1a42626c28d4617ffc1139a 22-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Dump(). Small fixes.


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


# f7672ebc252dd655a77cfbc2eaed2f408296aa80 13-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Made {Publish,Unpublish}Device() virtual and implemented them in
KPartition and as no-ops in KDiskDevice.
* Prefixed partition names with "obos_" to not interfere with R5's
partition names.


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


# ef9b1b52eeb1a76daf914efb01cb847fdbb48211 12-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a preliminary disk device scanning in KDiskDeviceManager.
Some changes to KPartition, KDiskDevice, KDiskSystem on this way.
Still missing is KPartition::Publish() and its invocation in
KDiskDeviceManager. Then everything should be in place to start with
porting the scanning parts of our disk system modules.


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


# 1bf21e6a4022bd6a3883a7ab68b57a461d579418 11-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added CreateChild().
* Added Publish/UnpublishDevice(). Not implemented yet.
* small fixes


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


# 0b6c74bbe3e509bae00b911698b19d4731ded935 10-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented some more bits of KPartition. Added a very useful Open() method.


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


# 4c212afefb9c1800bd32243d52a59dcccfecaaa2 09-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Headers for the disk device manager. Very early state.


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