History log of /haiku/headers/private/kernel/disk_device_manager/KFileSystem.h
Revision Date Author Comments
# 90ade5e2 12-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added file_system_module_info::uninitialize() analogously to
partition_module_info::uninitialize().
* Implemented the hook for BFS.
* Implemented KFileSystem::Uninitialize().

Fixes failure to initialize a BFS initialized device with an intel partition
map.


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


# 7b45b55b 04-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added back and partially reimplemented the
K{Disk,File,Partitioning}System writing methods. It is now required
that the caller has marked the concerned partitions busy, hence we can
(read-)access them without needing a lock. The module interfaces will
will be changed to take advantage of the fact as well. The methods take a
disk_job_id instead of a KDiskDeviceJob* now, though I haven't quite
decided, whether we need it at all or just want to add a special
handling in the cases where notifications during the operation make
sense.
* Reimplemented the disk device write support syscalls (save
_user_move_partition() for which other module hooks are needed). They
call the KDiskSystem methods, now.


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


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

* Moved partition scanning back to KDiskDeviceManager. ATM only
synchronous scanning is supported.
* Removed the disk device job support from the disk device manager.
* K{Disk,File,Partitioning}System:
- Remove querying and validation methods.
- Commented out the modification methods until their fate is decided.
* Removed obsolete _user_get_partitionable_spaces().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22799 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


# 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


# 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


# 47f39c93 23-May-2005 Axel Dörfler <axeld@pinc-software.de>

Merged the disk device manager module interface for file systems with the
VFS's interface, so that a file system only has to implement one interface.
As a side effect, the automatic file system detection may now work (not yet
tested, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12786 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


# 2a596c01 20-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented all read-only (more precisely: not writing) methods. Small changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4029 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


# 3f60a013 16-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added "name" parameter to KDiskSystem::[Validate]Initialize() and the respective module API functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3999 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


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

Implemented the scanning functionality.


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


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

Some small fixes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3462 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


# 90ade5e2987f2b3fa617d09630c1398bf238d955 12-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added file_system_module_info::uninitialize() analogously to
partition_module_info::uninitialize().
* Implemented the hook for BFS.
* Implemented KFileSystem::Uninitialize().

Fixes failure to initialize a BFS initialized device with an intel partition
map.


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


# 7b45b55be1322d022f79f23567529dfe079a03b8 04-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added back and partially reimplemented the
K{Disk,File,Partitioning}System writing methods. It is now required
that the caller has marked the concerned partitions busy, hence we can
(read-)access them without needing a lock. The module interfaces will
will be changed to take advantage of the fact as well. The methods take a
disk_job_id instead of a KDiskDeviceJob* now, though I haven't quite
decided, whether we need it at all or just want to add a special
handling in the cases where notifications during the operation make
sense.
* Reimplemented the disk device write support syscalls (save
_user_move_partition() for which other module hooks are needed). They
call the KDiskSystem methods, now.


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


# 327887959e06348e47b1aa0965f3679e2576dba8 01-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved partition scanning back to KDiskDeviceManager. ATM only
synchronous scanning is supported.
* Removed the disk device job support from the disk device manager.
* K{Disk,File,Partitioning}System:
- Remove querying and validation methods.
- Commented out the modification methods until their fate is decided.
* Removed obsolete _user_get_partitionable_spaces().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22799 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


# 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


# 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


# 47f39c93cbd7db06e72642b047f1fc327852684c 23-May-2005 Axel Dörfler <axeld@pinc-software.de>

Merged the disk device manager module interface for file systems with the
VFS's interface, so that a file system only has to implement one interface.
As a side effect, the automatic file system detection may now work (not yet
tested, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12786 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


# 2a596c013a8ac49bea49a64faedcfbb7c45c743a 20-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented all read-only (more precisely: not writing) methods. Small changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4029 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


# 3f60a0136937cf3288d0e730aa84efa3cf4a90cc 16-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added "name" parameter to KDiskSystem::[Validate]Initialize() and the respective module API functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3999 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


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

Implemented the scanning functionality.


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


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

Some small fixes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3462 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