#
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>
|
#
3d916a2c |
|
11-Jan-2014 |
Jonathan Schleifer <js@webkeks.org> |
Intel Partition Table: Remove dummy atomic_add. This dummy was intended for boot code, however, atomic_add seems to be already properly defined in boot code. Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
7f7e76e4 |
|
20-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
64-bit compilation fixes for write_overlay and intel partitioning system modules.
|
#
285f4cf4 |
|
12-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added optional partition_module_info::uninitialize() hook. It is supposed to destroy the partitioning system's on-disk structure. * Adjusted the existing partitioning system implementations accordingly. Actually implemented the hook for the intel partitioning system. * Added Uninitialize() method to KDiskSystem and KPartitioningSystem. The latter implements the method calling the new module hook. * _user_uninitialize_partition(): Also let the disk system uninitialize the on-disk structure. This fixes the failure to initialize a disk device with BFS, when it contains a valid partition map with at least one partition. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42140 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdcd7fca |
|
30-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Remove kernel/disk_device_manager from Jamfiles (the add-ons now need to specify the path). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34377 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d0f743e7 |
|
21-Aug-2009 |
Bryce Groff <bgroff@hawaii.edu> |
* Added parameter passing to/from the kernel to userland. * Removed dependency on deprecated ep_validate_create_child() * Removed hard coded sector size. * Style cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32590 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ea893b2 |
|
29-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Bryce Groff: Style cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31907 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
|
#
199f3324 |
|
13-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed SECTOR_SIZE in the read-only part of the intel partition scanner; however, it's still used in the write part. * Made the read-only code block size agnostic. Only tested with an Apple iPod so far, and it recognizes its partition fine now. Next test on real hardware. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30155 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca2a5874 |
|
27-Aug-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Disabled support for nested partition maps for the time being. Since we're quite lenient parsing the partition descriptors, we recognized pretty much any partition that by accident has a PTS signature and that no other disk system supports. Should fix bug #2668. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27215 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27ba18f4 |
|
20-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Turned off debugging output (intel.cpp still puts out some stuff, but only when compiled for the kernel). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27089 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5157b61 |
|
30-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Reverted r26128 again; it should not be necessary after r26177 anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26178 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ea538ece |
|
24-Jun-2008 |
Michael Lotz <mmlr@mlotz.ch> |
If the intel partitioning system doesn't detect any children and is not directly on a device (i.e. has a parent), then don't indicate that we want to support it at all, but just return -1. Most probably it is actually a filesystem and not a partition. Indicating that we might support it a bit could lead to the situation that the partition was associated with the intel partitioning system in the end because the module for the actually present filesystem wasn't yet loaded in the first initial device scan (during early boot when looking for the boot partition). The later rescan wouldn't touch that partition anymore as it was already (wrongly) associated with the intel partitioning system, therefore leading to unrecognized partitions as seen in bug #2424. By not pretending to support the partition when we most probably don't, a later rescan that has all filesystems available therefore has a chance of identifying that partition correctly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1da9f5ce |
|
10-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added BDiskSystem::ShortName() and everything needed to get it there. * Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system by short/pretty/module name - since they should all be unique, I put them in a single namespace, please complain if you don't like that :-) * Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated header guidelines. * Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bf95c9ae |
|
07-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* The shadow_changed() FS and partitioning system hooks take an additional partition_data* child parameter now. * _user_get_partitionable_spaces() doesn't need to copy the buffer into the kernel, since it is no input parameter. It also copies back the actual partitionable spaces count on error, now -- B_BUFFER_OVERFLOW is returned when the buffer was too small, but then the count must be returned too. * Fixed several instances of syscall implementations that unloaded a disk system, although they didn't load it in the first place. This screwed up the load count with undesirable consequences. * _user_create_child_partition() would set the size to the supplied offset. * Fixed broken loop in KPhysicalPartition::CreateShadowPartition(). * KPartition::RemoveChild() notified the listeners about the wrong event. * Intel partitioning module: - The *_get_partitionable_spaces() correctly return B_BUFFER_OVERFLOW now, if the supplied buffer is too small. - Implemented a part of pm_shadow_changed(), which creates and updates the PartitionMap, so that the validate_*() hooks have a chance to work at all. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22475 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
db5c68ca |
|
04-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added the partition size as parameter to the file and partitioning system initialize() hooks. It's often the only info about the partition one needs and thus locking the partition just to get it is no longer necessary. * intel partitioning system: - Removed passing around block sizes. We require 512 byte sectors anyway. In fact using the parent partition's block size was even wrong. - Simplified writing the partition map sector. - Simplified and corrected the partition map initialization. - We don't fail identifying a partition anymore, if the partition map contains no partitions. We would never identify a freshly initialized partition map before. - Made pm_identify() more intelligent: It determines the priority to return depending on whether the partition is the device itself and whether we have recognized child partitions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bcc2eb0c |
|
04-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved the write support code into a separate source file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76a8ec23 |
|
22-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added disk system flags for whether a partition name and partition content name are supported. * Added file_system_module_info::flags (analogously to partition_module_info::flags) which indicate which disk device features the FS supports. * Replaced the file_system_module_info/partition_module_info::supports_*() hooks by a get_supported_operations() hook and for partitioning systems additionally a get_supported_child_operations() hook. * Updated file and partitioning systems accordingly. * Updated fs_shell accordingly. * Updated the DDM accordingly. The syscall interface remains unchanged, though. * _user_supports_initializing_partition() also checks whether the parent partitioning system is content now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c6aab459 |
|
12-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Small readability changes to the supported types functions. * Moved the module definition to the end of the source file, so that the lengthy prototype could be be removed. * Fixed the *_supports_initializing() hooks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21916 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d96381dd |
|
02-Aug-2007 |
Jérôme Duval <korli@users.berlios.de> |
reverted r21757 which is now fixed by the following added $(HAIKU_GCC_LIBGCC) to HAIKU_KERNEL_ADDON_END_GLUE_CODE as suggested by Ingo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21795 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
af8bd8f6 |
|
30-Jul-2007 |
Jérôme Duval <korli@users.berlios.de> |
fixed ppc build: replaced a cast to float with a multiplication as the cast requires __floatdisf from libgcc the other solution would have been to link against libgcc.a. please comment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21757 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
288102e6 |
|
26-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Style cleanup. * Moved method documentation from headers to source files. * Removed test code. * Added TODOs where I spotted problems. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21717 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92b8ea1d |
|
24-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Write support for the Intel partitioning system module. Courtesy of Tomas Kucera. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21697 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8d9e5a45 |
|
29-Sep-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Turned on debugging in the Intel partitioning system add-on, and the partition stuff of the boot loader to help with bug #238. * Minor cleanup (added license headers, fixed debug output) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18977 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8503c000 |
|
20-Dec-2005 |
Stephan Aßmus <superstippi@gmx.de> |
I just realized I never commited this. This enables Haiku to boot from a logical partition in an extended partition that used to be a BFS partition and has enough of the old super block left for BFS to think it's a valid BFS partition... fix found together with Ingo Weinhold git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15629 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f2162522 |
|
31-Mar-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* More debug output. * We apparently cannot use constants like kPartitionTypeIntelExtended in static array initializers in the kernel. * Fixed misunderstanding between Axel (boot loader) and me (Intel partitioning system module) how to deal with the cookie the identify() hook returns. We switch to a someone cleaner method by always invoking free_identify_cookie() for it, even if it were passed to scan(). Since we want to keep the cookie, we add a reference counter to it. This should fix a couple of issues with recognizing the boot partition. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12185 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
569750e5 |
|
02-Oct-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Refactored a bit -- pulled the partition map parser out. Userland add-on disabled for the time being, due to build problems. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1fac18e1 |
|
25-Jun-2004 |
Axel Dörfler <axeld@pinc-software.de> |
This fixes the intel/apple/amiga partitioning modules. String references, const or not, require the static object to be initialized by a constructor; it will be put into the BSS region. Now, kernel modules are not linked against crtbegin.o, and the kernel does not call any init functions on the module. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8166 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15832d7b |
|
07-Sep-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Removed a warning. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4562 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b132797e |
|
07-Sep-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Made the module working in the boot loader. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4552 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
|
#
ee1ebe37 |
|
24-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added ShadowPartitionChanged() to KDiskSystem and respective hooks to the module interfaces. So the disk system will be informed, when a shadow partition has changed and it is allowed to do necessary adjustions (e.g. adjusting the cookie, the parameters, or on partitioning system initialization even creating special child partitions (apple partitioning system)). * Added `int32 *index' parameter to ValidateCreateChild(). So the partitioning system can report at which index the new child shall be inserted. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4065 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3774a9b |
|
21-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The content_type field in partition_data is now set by the system. Implemented querying hooks for resizing a child partition of the partition map. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4048 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ee6c178 |
|
20-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some fixes of/changes to the API. Shortened names where possible. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4030 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
708a31ba |
|
19-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added SupportsSetting[Content]Parameters() to the KDiskSystem interface and respective functions to the module interface. Some re-ordering of methods/functions for aesthetical reasons. :-) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4019 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
18b90323 |
|
18-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added flags for disk systems. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4009 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f3f1294 |
|
16-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a IsSubSystemFor() method to the KDiskSystem interface and respective calls for the module interfaces. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3996 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0fbb290f |
|
15-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some changes to/fixes of the KDiskSystem interface and the disk system module interface. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3987 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
|
#
55bf93d8 |
|
08-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed handling of partition and device flags and statuses. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3898 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38cf1a98 |
|
22-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Small fixes. Make use of the types of types defined in <DiskDeviceTypes.h>. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3613 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5e5ddc1 |
|
13-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ep_scan_partition(): Removed erroneous check for cookie (it's unused here), and fixed child index counting. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3511 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
852d12ef |
|
13-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Ported the intel partitioning system module to the new interface (disk device manager) and moved it to a nicer place. First tests look good, though my hard disk structure doesn't even have extended partitions. Going to install Linux now... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3504 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d916a2cd7dc80785fec66f063556f6f5dce1b9b |
|
11-Jan-2014 |
Jonathan Schleifer <js@webkeks.org> |
Intel Partition Table: Remove dummy atomic_add. This dummy was intended for boot code, however, atomic_add seems to be already properly defined in boot code. Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
7f7e76e4615a652686e68102907732d114968b58 |
|
20-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
64-bit compilation fixes for write_overlay and intel partitioning system modules.
|
#
285f4cf441dbc269553bee753d151cbf0074f232 |
|
12-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added optional partition_module_info::uninitialize() hook. It is supposed to destroy the partitioning system's on-disk structure. * Adjusted the existing partitioning system implementations accordingly. Actually implemented the hook for the intel partitioning system. * Added Uninitialize() method to KDiskSystem and KPartitioningSystem. The latter implements the method calling the new module hook. * _user_uninitialize_partition(): Also let the disk system uninitialize the on-disk structure. This fixes the failure to initialize a disk device with BFS, when it contains a valid partition map with at least one partition. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42140 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdcd7fcadc390466fb110a55e0932bedc1232b14 |
|
30-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Remove kernel/disk_device_manager from Jamfiles (the add-ons now need to specify the path). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34377 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d0f743e7405b9b723f6488fb8963c0d698fbb20d |
|
21-Aug-2009 |
Bryce Groff <bgroff@hawaii.edu> |
* Added parameter passing to/from the kernel to userland. * Removed dependency on deprecated ep_validate_create_child() * Removed hard coded sector size. * Style cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32590 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ea893b2a01db7fe83a90d0933e4f563206408ea |
|
29-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Bryce Groff: Style cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31907 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
|
#
199f33248dcde6cb2803ee4bd5938817ed30239e |
|
13-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed SECTOR_SIZE in the read-only part of the intel partition scanner; however, it's still used in the write part. * Made the read-only code block size agnostic. Only tested with an Apple iPod so far, and it recognizes its partition fine now. Next test on real hardware. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30155 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca2a5874fa7d75b44d0c9e552a0977e60383443e |
|
27-Aug-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Disabled support for nested partition maps for the time being. Since we're quite lenient parsing the partition descriptors, we recognized pretty much any partition that by accident has a PTS signature and that no other disk system supports. Should fix bug #2668. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27215 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27ba18f4123ec65b8f091927ca7eb5c62b6b6733 |
|
20-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Turned off debugging output (intel.cpp still puts out some stuff, but only when compiled for the kernel). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27089 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5157b61d2a9fc06743a78f407fba3866b4f0abe |
|
30-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Reverted r26128 again; it should not be necessary after r26177 anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26178 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ea538ecee88b37a9fbb24cb901ff97032a380fbc |
|
24-Jun-2008 |
Michael Lotz <mmlr@mlotz.ch> |
If the intel partitioning system doesn't detect any children and is not directly on a device (i.e. has a parent), then don't indicate that we want to support it at all, but just return -1. Most probably it is actually a filesystem and not a partition. Indicating that we might support it a bit could lead to the situation that the partition was associated with the intel partitioning system in the end because the module for the actually present filesystem wasn't yet loaded in the first initial device scan (during early boot when looking for the boot partition). The later rescan wouldn't touch that partition anymore as it was already (wrongly) associated with the intel partitioning system, therefore leading to unrecognized partitions as seen in bug #2424. By not pretending to support the partition when we most probably don't, a later rescan that has all filesystems available therefore has a chance of identifying that partition correctly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1da9f5cea5ea4d32c539a01cd94a7b605e941beb |
|
10-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added BDiskSystem::ShortName() and everything needed to get it there. * Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system by short/pretty/module name - since they should all be unique, I put them in a single namespace, please complain if you don't like that :-) * Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated header guidelines. * Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bf95c9aee6c36516e5e98a4f8953659c402bbf74 |
|
07-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* The shadow_changed() FS and partitioning system hooks take an additional partition_data* child parameter now. * _user_get_partitionable_spaces() doesn't need to copy the buffer into the kernel, since it is no input parameter. It also copies back the actual partitionable spaces count on error, now -- B_BUFFER_OVERFLOW is returned when the buffer was too small, but then the count must be returned too. * Fixed several instances of syscall implementations that unloaded a disk system, although they didn't load it in the first place. This screwed up the load count with undesirable consequences. * _user_create_child_partition() would set the size to the supplied offset. * Fixed broken loop in KPhysicalPartition::CreateShadowPartition(). * KPartition::RemoveChild() notified the listeners about the wrong event. * Intel partitioning module: - The *_get_partitionable_spaces() correctly return B_BUFFER_OVERFLOW now, if the supplied buffer is too small. - Implemented a part of pm_shadow_changed(), which creates and updates the PartitionMap, so that the validate_*() hooks have a chance to work at all. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22475 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
db5c68ca46ce6f291fa5c047035418f6ccc89817 |
|
04-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added the partition size as parameter to the file and partitioning system initialize() hooks. It's often the only info about the partition one needs and thus locking the partition just to get it is no longer necessary. * intel partitioning system: - Removed passing around block sizes. We require 512 byte sectors anyway. In fact using the parent partition's block size was even wrong. - Simplified writing the partition map sector. - Simplified and corrected the partition map initialization. - We don't fail identifying a partition anymore, if the partition map contains no partitions. We would never identify a freshly initialized partition map before. - Made pm_identify() more intelligent: It determines the priority to return depending on whether the partition is the device itself and whether we have recognized child partitions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bcc2eb0c727b067c4f4aa2f163372cc70b6fe069 |
|
04-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved the write support code into a separate source file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76a8ec23db391176bac91f33c5f1fc6e8e41866c |
|
22-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added disk system flags for whether a partition name and partition content name are supported. * Added file_system_module_info::flags (analogously to partition_module_info::flags) which indicate which disk device features the FS supports. * Replaced the file_system_module_info/partition_module_info::supports_*() hooks by a get_supported_operations() hook and for partitioning systems additionally a get_supported_child_operations() hook. * Updated file and partitioning systems accordingly. * Updated fs_shell accordingly. * Updated the DDM accordingly. The syscall interface remains unchanged, though. * _user_supports_initializing_partition() also checks whether the parent partitioning system is content now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c6aab4598bd9fa9dcca6f930b0906d25f6df867a |
|
12-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Small readability changes to the supported types functions. * Moved the module definition to the end of the source file, so that the lengthy prototype could be be removed. * Fixed the *_supports_initializing() hooks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21916 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d96381dd5d784bc17f799cc7e3030274128967cf |
|
02-Aug-2007 |
Jérôme Duval <korli@users.berlios.de> |
reverted r21757 which is now fixed by the following added $(HAIKU_GCC_LIBGCC) to HAIKU_KERNEL_ADDON_END_GLUE_CODE as suggested by Ingo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21795 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
af8bd8f6b4889110b95b88999375e68c7f3eacff |
|
30-Jul-2007 |
Jérôme Duval <korli@users.berlios.de> |
fixed ppc build: replaced a cast to float with a multiplication as the cast requires __floatdisf from libgcc the other solution would have been to link against libgcc.a. please comment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21757 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
288102e6c3dedbc9a4fbb295fc9234ec06c7aa18 |
|
26-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Style cleanup. * Moved method documentation from headers to source files. * Removed test code. * Added TODOs where I spotted problems. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21717 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92b8ea1d4406a8743e60ef420d8684255316202f |
|
24-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Write support for the Intel partitioning system module. Courtesy of Tomas Kucera. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21697 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8d9e5a451e2fb58549aba969c921614bb15d2607 |
|
29-Sep-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Turned on debugging in the Intel partitioning system add-on, and the partition stuff of the boot loader to help with bug #238. * Minor cleanup (added license headers, fixed debug output) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18977 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8503c000b3dda0175f20ada4b5f9d736dd8d91a5 |
|
20-Dec-2005 |
Stephan Aßmus <superstippi@gmx.de> |
I just realized I never commited this. This enables Haiku to boot from a logical partition in an extended partition that used to be a BFS partition and has enough of the old super block left for BFS to think it's a valid BFS partition... fix found together with Ingo Weinhold git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15629 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f2162522b06c959f240c6e2f3a81717a92b95b80 |
|
31-Mar-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* More debug output. * We apparently cannot use constants like kPartitionTypeIntelExtended in static array initializers in the kernel. * Fixed misunderstanding between Axel (boot loader) and me (Intel partitioning system module) how to deal with the cookie the identify() hook returns. We switch to a someone cleaner method by always invoking free_identify_cookie() for it, even if it were passed to scan(). Since we want to keep the cookie, we add a reference counter to it. This should fix a couple of issues with recognizing the boot partition. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12185 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
569750e57f75b9e440f4cdbfd780ec49da53aace |
|
02-Oct-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Refactored a bit -- pulled the partition map parser out. Userland add-on disabled for the time being, due to build problems. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1fac18e1bbeab965f29873811b766ee3de2ebe8f |
|
25-Jun-2004 |
Axel Dörfler <axeld@pinc-software.de> |
This fixes the intel/apple/amiga partitioning modules. String references, const or not, require the static object to be initialized by a constructor; it will be put into the BSS region. Now, kernel modules are not linked against crtbegin.o, and the kernel does not call any init functions on the module. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8166 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15832d7b04f9a51f8fcd469dfe80a302672c4011 |
|
07-Sep-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Removed a warning. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4562 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b132797ec38dac2755fdc8954689aa1318f45f52 |
|
07-Sep-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Made the module working in the boot loader. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4552 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
|
#
ee1ebe375c693d182c224ee71770db13fc446ddf |
|
24-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added ShadowPartitionChanged() to KDiskSystem and respective hooks to the module interfaces. So the disk system will be informed, when a shadow partition has changed and it is allowed to do necessary adjustions (e.g. adjusting the cookie, the parameters, or on partitioning system initialization even creating special child partitions (apple partitioning system)). * Added `int32 *index' parameter to ValidateCreateChild(). So the partitioning system can report at which index the new child shall be inserted. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4065 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3774a9b93c7fe08c3cfa95124cffb573527cf2c |
|
21-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The content_type field in partition_data is now set by the system. Implemented querying hooks for resizing a child partition of the partition map. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4048 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ee6c178d5e7a11a759fb0963bb991a39bad1faf |
|
20-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some fixes of/changes to the API. Shortened names where possible. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4030 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
708a31badf9c4dcdd45a70ad7f11edd5ad6238ee |
|
19-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added SupportsSetting[Content]Parameters() to the KDiskSystem interface and respective functions to the module interface. Some re-ordering of methods/functions for aesthetical reasons. :-) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4019 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
18b90323d9f2b302f2083a0758a398075000d8db |
|
18-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added flags for disk systems. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4009 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f3f1294a80fce3af96644308de32d0c1c67b315 |
|
16-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a IsSubSystemFor() method to the KDiskSystem interface and respective calls for the module interfaces. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3996 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0fbb290f51b950366fc992907e3a3973a7e7c65e |
|
15-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some changes to/fixes of the KDiskSystem interface and the disk system module interface. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3987 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
|
#
55bf93d80d856554438d0306e208e26c7c338f48 |
|
08-Jul-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed handling of partition and device flags and statuses. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3898 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38cf1a986ccb98c927169133d0402d7b5df32607 |
|
22-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Small fixes. Make use of the types of types defined in <DiskDeviceTypes.h>. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3613 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5e5ddc13abf6ba11b9f16be312b75e41dbb6421 |
|
13-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ep_scan_partition(): Removed erroneous check for cookie (it's unused here), and fixed child index counting. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3511 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
852d12ef4ce8c211ebb201900500f2c018634545 |
|
13-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Ported the intel partitioning system module to the new interface (disk device manager) and moved it to a nicer place. First tests look good, though my hard disk structure doesn't even have extended partitions. Going to install Linux now... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3504 a95241bf-73f2-0310-859d-f6bbb57e9c96
|