diff --git a/headers/private/kernel/disk_device_manager/KDiskSystem.h b/headers/private/kernel/disk_device_manager/KDiskSystem.h index c780cddea8..b7925befe5 100644 --- a/headers/private/kernel/disk_device_manager/KDiskSystem.h +++ b/headers/private/kernel/disk_device_manager/KDiskSystem.h @@ -54,17 +54,20 @@ public: bool *whileMounted); virtual bool SupportsResizing(KPartition *partition, bool *whileMounted); virtual bool SupportsResizingChild(KPartition *child); - virtual bool SupportsMoving(KPartition *partition, bool *whileMounted); + virtual bool SupportsMoving(KPartition *partition, bool *isNoOp); virtual bool SupportsMovingChild(KPartition *child); virtual bool SupportsSettingName(KPartition *partition); virtual bool SupportsSettingContentName(KPartition *partition, bool *whileMounted); virtual bool SupportsSettingType(KPartition *partition); - virtual bool SupportsCreatingChild(KPartition *partition); - virtual bool SupportsDeletingChild(KPartition *child); + virtual bool SupportsSettingParameters(KPartition *partition); + virtual bool SupportsSettingContentParameters(KPartition *partition, + bool *whileMounted); virtual bool SupportsInitializing(KPartition *partition); virtual bool SupportsInitializingChild(KPartition *child, const char *diskSystem); + virtual bool SupportsCreatingChild(KPartition *partition); + virtual bool SupportsDeletingChild(KPartition *child); virtual bool IsSubSystemFor(KPartition *partition); virtual bool ValidateResize(KPartition *partition, off_t *size); @@ -74,15 +77,15 @@ public: virtual bool ValidateSetName(KPartition *partition, char *name); virtual bool ValidateSetContentName(KPartition *partition, char *name); virtual bool ValidateSetType(KPartition *partition, const char *type); - virtual bool ValidateCreateChild(KPartition *partition, off_t *start, - off_t *size, const char *type, - const char *parameters); - virtual bool ValidateInitialize(KPartition *partition, char *name, - const char *parameters); virtual bool ValidateSetParameters(KPartition *partition, const char *parameters); virtual bool ValidateSetContentParameters(KPartition *child, const char *parameters); + virtual bool ValidateInitialize(KPartition *partition, char *name, + const char *parameters); + virtual bool ValidateCreateChild(KPartition *partition, off_t *start, + off_t *size, const char *type, + const char *parameters); virtual int32 CountPartitionableSpaces(KPartition *partition); virtual bool GetPartitionableSpaces(KPartition *partition, partitionable_space_data *spaces, @@ -114,20 +117,20 @@ public: KDiskDeviceJob *job); virtual status_t SetType(KPartition *partition, char *type, KDiskDeviceJob *job); - virtual status_t CreateChild(KPartition *partition, off_t offset, - off_t size, const char *type, - const char *parameters, KDiskDeviceJob *job, - KPartition **child = NULL, - partition_id childID = -1); - virtual status_t DeleteChild(KPartition *child, KDiskDeviceJob *job); - virtual status_t Initialize(KPartition *partition, const char *name, - const char *parameters, KDiskDeviceJob *job); virtual status_t SetParameters(KPartition *partition, const char *parameters, KDiskDeviceJob *job); virtual status_t SetContentParameters(KPartition *partition, const char *parameters, KDiskDeviceJob *job); + virtual status_t Initialize(KPartition *partition, const char *name, + const char *parameters, KDiskDeviceJob *job); + virtual status_t CreateChild(KPartition *partition, off_t offset, + off_t size, const char *type, + const char *parameters, KDiskDeviceJob *job, + KPartition **child = NULL, + partition_id childID = -1); + virtual status_t DeleteChild(KPartition *child, KDiskDeviceJob *job); // The KPartition* parameters for the writing methods are a bit `volatile', // since the device will not be locked, when they are called. The KPartition // is registered though, so that it is at least guaranteed that the object diff --git a/headers/private/kernel/disk_device_manager/KFileSystem.h b/headers/private/kernel/disk_device_manager/KFileSystem.h index 39a0fa9ebe..ffa4aa4cfa 100644 --- a/headers/private/kernel/disk_device_manager/KFileSystem.h +++ b/headers/private/kernel/disk_device_manager/KFileSystem.h @@ -34,19 +34,21 @@ public: virtual bool SupportsRepairing(KPartition *partition, bool checkOnly, bool *whileMounted); virtual bool SupportsResizing(KPartition *partition, bool *whileMounted); - virtual bool SupportsMoving(KPartition *partition, bool *whileMounted); + virtual bool SupportsMoving(KPartition *partition, bool *isNoOp); virtual bool SupportsSettingContentName(KPartition *partition, bool *whileMounted); + virtual bool SupportsSettingContentParameters(KPartition *partition, + bool *whileMounted); virtual bool SupportsInitializing(KPartition *partition); virtual bool IsSubSystemFor(KPartition *partition); virtual bool ValidateResize(KPartition *partition, off_t *size); virtual bool ValidateMove(KPartition *partition, off_t *start); virtual bool ValidateSetContentName(KPartition *partition, char *name); - virtual bool ValidateInitialize(KPartition *partition, char *name, - const char *parameters); virtual bool ValidateSetContentParameters(KPartition *child, const char *parameters); + virtual bool ValidateInitialize(KPartition *partition, char *name, + const char *parameters); // Writing @@ -59,11 +61,11 @@ public: KDiskDeviceJob *job); virtual status_t SetContentName(KPartition *partition, char *name, KDiskDeviceJob *job); - virtual status_t Initialize(KPartition *partition, const char *name, - const char *parameters, KDiskDeviceJob *job); virtual status_t SetContentParameters(KPartition *partition, const char *parameters, KDiskDeviceJob *job); + virtual status_t Initialize(KPartition *partition, const char *name, + const char *parameters, KDiskDeviceJob *job); protected: virtual status_t LoadModule(); diff --git a/headers/private/kernel/disk_device_manager/KPartitioningSystem.h b/headers/private/kernel/disk_device_manager/KPartitioningSystem.h index 362471669e..f3434858d1 100644 --- a/headers/private/kernel/disk_device_manager/KPartitioningSystem.h +++ b/headers/private/kernel/disk_device_manager/KPartitioningSystem.h @@ -31,17 +31,20 @@ public: bool *whileMounted); virtual bool SupportsResizing(KPartition *partition, bool *whileMounted); virtual bool SupportsResizingChild(KPartition *child); - virtual bool SupportsMoving(KPartition *partition, bool *whileMounted); + virtual bool SupportsMoving(KPartition *partition, bool *isNoOp); virtual bool SupportsMovingChild(KPartition *child); virtual bool SupportsSettingName(KPartition *partition); virtual bool SupportsSettingContentName(KPartition *partition, bool *whileMounted); virtual bool SupportsSettingType(KPartition *partition); - virtual bool SupportsCreatingChild(KPartition *partition); - virtual bool SupportsDeletingChild(KPartition *child); + virtual bool SupportsSettingParameters(KPartition *partition); + virtual bool SupportsSettingContentParameters(KPartition *partition, + bool *whileMounted); virtual bool SupportsInitializing(KPartition *partition); virtual bool SupportsInitializingChild(KPartition *child, const char *diskSystem); + virtual bool SupportsCreatingChild(KPartition *partition); + virtual bool SupportsDeletingChild(KPartition *child); virtual bool IsSubSystemFor(KPartition *partition); virtual bool ValidateResize(KPartition *partition, off_t *size); @@ -51,15 +54,15 @@ public: virtual bool ValidateSetName(KPartition *partition, char *name); virtual bool ValidateSetContentName(KPartition *partition, char *name); virtual bool ValidateSetType(KPartition *partition, const char *type); - virtual bool ValidateCreateChild(KPartition *partition, off_t *start, - off_t *size, const char *type, - const char *parameters); - virtual bool ValidateInitialize(KPartition *partition, char *name, - const char *parameters); virtual bool ValidateSetParameters(KPartition *partition, const char *parameters); virtual bool ValidateSetContentParameters(KPartition *child, const char *parameters); + virtual bool ValidateInitialize(KPartition *partition, char *name, + const char *parameters); + virtual bool ValidateCreateChild(KPartition *partition, off_t *start, + off_t *size, const char *type, + const char *parameters); virtual int32 CountPartitionableSpaces(KPartition *partition); virtual bool GetPartitionableSpaces(KPartition *partition, partitionable_space_data *spaces, @@ -89,6 +92,12 @@ public: KDiskDeviceJob *job); virtual status_t SetType(KPartition *partition, char *type, KDiskDeviceJob *job); + virtual status_t SetParameters(KPartition *partition, + const char *parameters, + KDiskDeviceJob *job); + virtual status_t SetContentParameters(KPartition *partition, + const char *parameters, + KDiskDeviceJob *job); virtual status_t CreateChild(KPartition *partition, off_t offset, off_t size, const char *type, const char *parameters, KDiskDeviceJob *job, @@ -97,12 +106,6 @@ public: virtual status_t DeleteChild(KPartition *child, KDiskDeviceJob *job); virtual status_t Initialize(KPartition *partition, const char *name, const char *parameters, KDiskDeviceJob *job); - virtual status_t SetParameters(KPartition *partition, - const char *parameters, - KDiskDeviceJob *job); - virtual status_t SetContentParameters(KPartition *partition, - const char *parameters, - KDiskDeviceJob *job); protected: virtual status_t LoadModule(); diff --git a/headers/private/kernel/disk_device_manager/ddm_modules.h b/headers/private/kernel/disk_device_manager/ddm_modules.h index 32d9ec84ff..5ff7f43246 100644 --- a/headers/private/kernel/disk_device_manager/ddm_modules.h +++ b/headers/private/kernel/disk_device_manager/ddm_modules.h @@ -39,14 +39,18 @@ typedef bool (*partition_supports_setting_name)(partition_data *partition); typedef bool (*partition_supports_setting_content_name)( partition_data *partition); typedef bool (*partition_supports_setting_type)(partition_data *partition); -typedef bool (*partition_supports_creating_child_partition)( +typedef bool (*partition_supports_setting_parameters)( + partition_data *partition); +typedef bool (*partition_supports_setting_content_parameters)( partition_data *partition); -typedef bool (*partition_supports_deleting_child_partition)( - partition_data *partition, partition_data *child); typedef bool (*partition_supports_initializing_partition)( partition_data *partition); typedef bool (*partition_supports_initializing_child_partition)( partition_data *partition, const char *system); +typedef bool (*partition_supports_creating_child_partition)( + partition_data *partition); +typedef bool (*partition_supports_deleting_child_partition)( + partition_data *partition, partition_data *child); typedef bool (*partition_is_sub_system_for)(partition_data *partition); typedef bool (*partition_validate_resize_partition)(partition_data *partition, @@ -63,15 +67,15 @@ typedef bool (*partition_validate_set_content_name)(partition_data *partition, char *name); typedef bool (*partition_validate_set_type)(partition_data *partition, const char *type); -typedef bool (*partition_validate_create_child_partition)( - partition_data *partition, partition_data *child, off_t *start, - off_t *size, const char *type, const char *parameters); -typedef bool (*partition_validate_initialize_partition)( - partition_data *partition, char *name, const char *parameters); typedef bool (*partition_validate_set_partition_parameters)( partition_data *partition, const char *parameters); typedef bool (*partition_validate_set_partition_content_parameters)( partition_data *partition, const char *parameters); +typedef bool (*partition_validate_initialize_partition)( + partition_data *partition, char *name, const char *parameters); +typedef bool (*partition_validate_create_child_partition)( + partition_data *partition, partition_data *child, off_t *start, + off_t *size, const char *type, const char *parameters); typedef bool (*partition_get_partitionable_spaces)(partition_data *partition, partitionable_space_data *spaces, int32 count, int32 *actualCount); // When not implemented, a standard algorithm is used. @@ -99,6 +103,13 @@ typedef status_t (*partition_set_content_name)(int fd, partition_id partition, const char *name, disk_job_id job); typedef status_t (*partition_set_type)(int fd, partition_id partition, const char *type, disk_job_id job); +typedef status_t (*partition_set_parameters_partition)(int fd, + partition_id partition, const char *parameters, disk_job_id job); +typedef status_t (*partition_set_partition_content_parameters)(int fd, + partition_id partition, const char *parameters, disk_job_id job); +typedef status_t (*partition_initialize_partition)(int fd, + partition_id partition, const char *name, const char *parameters, + disk_job_id job); typedef status_t (*partition_create_child_partition)(int fd, partition_id partition, off_t offset, off_t size, const char *type, const char *parameters, disk_job_id job, partition_id *childID); @@ -106,13 +117,6 @@ typedef status_t (*partition_create_child_partition)(int fd, // parameter -- -1 to be ignored typedef status_t (*partition_delete_child_partition)(int fd, partition_id partition, partition_id child, disk_job_id job); -typedef status_t (*partition_initialize_partition)(int fd, - partition_id partition, const char *name, const char *parameters, - disk_job_id job); -typedef status_t (*partition_set_parameters_partition)(int fd, - partition_id partition, const char *parameters, disk_job_id job); -typedef status_t (*partition_set_partition_content_parameters)(int fd, - partition_id partition, const char *parameters, disk_job_id job); typedef struct partition_module_info { module_info module; @@ -137,14 +141,17 @@ typedef struct partition_module_info { partition_supports_setting_name supports_setting_name; partition_supports_setting_content_name supports_setting_content_name; partition_supports_setting_type supports_setting_type; - partition_supports_creating_child_partition - supports_creating_child_partition; - partition_supports_deleting_child_partition - supports_deleting_child_partition; + partition_supports_setting_parameters supports_setting_parameters; + partition_supports_setting_content_parameters + supports_setting_content_parameters; partition_supports_initializing_partition supports_initializing_partition; partition_supports_initializing_child_partition supports_initializing_child_partition; + partition_supports_creating_child_partition + supports_creating_child_partition; + partition_supports_deleting_child_partition + supports_deleting_child_partition; partition_is_sub_system_for is_sub_system_for; partition_validate_resize_partition validate_resize_partition; @@ -155,13 +162,13 @@ typedef struct partition_module_info { partition_validate_set_name validate_set_name; partition_validate_set_content_name validate_set_content_name; partition_validate_set_type validate_set_type; - partition_validate_create_child_partition - validate_create_child_partition; - partition_validate_initialize_partition validate_initialize_partition; partition_validate_set_partition_parameters validate_set_partition_parameters; partition_validate_set_partition_content_parameters validate_set_partition_content_parameters; + partition_validate_initialize_partition validate_initialize_partition; + partition_validate_create_child_partition + validate_create_child_partition; partition_get_partitionable_spaces get_partitionable_spaces; partition_get_next_supported_type get_next_supported_type; partition_get_type_for_content_type get_type_for_content_type; @@ -175,12 +182,12 @@ typedef struct partition_module_info { partition_set_name set_name; partition_set_content_name set_content_name; partition_set_type set_type; - partition_create_child_partition create_child_partition; - partition_delete_child_partition delete_child_partition; - partition_initialize_partition initialize_partition; partition_set_parameters_partition set_parameters_partition; partition_set_partition_content_parameters set_partition_content_parameters; + partition_initialize_partition initialize_partition; + partition_create_child_partition create_child_partition; + partition_delete_child_partition delete_child_partition; } partition_module_info; @@ -205,9 +212,11 @@ typedef bool (*fs_supports_reparing_partition)(partition_data *partition, typedef bool (*fs_supports_resizing_partition)(partition_data *partition, bool *whileMounted); typedef bool (*fs_supports_moving_partition)(partition_data *partition, - bool *whileMounted); + bool *isNoOp); typedef bool (*fs_supports_setting_content_name)(partition_data *partition, bool *whileMounted); +typedef bool (*fs_supports_setting_content_parameters)( + partition_data *partition, bool *whileMounted); typedef bool (*fs_supports_initializing_partition)(partition_data *partition); typedef bool (*fs_is_sub_system_for)(partition_data *partition); @@ -217,10 +226,10 @@ typedef bool (*fs_validate_move_partition)(partition_data *partition, off_t *start); typedef bool (*fs_validate_set_content_name)(partition_data *partition, char *name); -typedef bool (*fs_validate_initialize_partition)(partition_data *partition, - char *name, const char *parameters); typedef bool (*fs_validate_set_partition_content_parameters)( partition_data *partition, const char *parameters); +typedef bool (*fs_validate_initialize_partition)(partition_data *partition, + char *name, const char *parameters); // writing // (the device is NOT locked) @@ -234,12 +243,12 @@ typedef status_t (*fs_move_partition)(int fd, partition_id partition, off_t offset, disk_job_id job); typedef status_t (*fs_set_content_name)(int fd, partition_id partition, const char *name, disk_job_id job); +typedef status_t (*fs_set_partition_content_parameters)(int fd, + partition_id partition, const char *parameters, disk_job_id job); typedef status_t (*fs_initialize_partition)(const char *partition, const char *name, const char *parameters, disk_job_id job); // This is pretty close to how the hook in R5 looked. Save the job ID, of // course and that the parameters were given as (void*, size_t) pair. -typedef status_t (*fs_set_partition_content_parameters)(int fd, - partition_id partition, const char *parameters, disk_job_id job); typedef struct fs_module_info { module_info module; @@ -259,6 +268,8 @@ typedef struct fs_module_info { fs_supports_resizing_partition supports_resizing_partition; fs_supports_moving_partition supports_moving_partition; fs_supports_setting_content_name supports_setting_content_name; + fs_supports_setting_content_parameters + supports_setting_content_parameters; fs_supports_initializing_partition supports_initializing_partition; fs_is_sub_system_for is_sub_system_for; @@ -266,9 +277,9 @@ typedef struct fs_module_info { fs_validate_resize_partition validate_resize_partition; fs_validate_move_partition validate_move_partition; fs_validate_set_content_name validate_set_content_name; - fs_validate_initialize_partition validate_initialize_partition; fs_validate_set_partition_content_parameters validate_set_partition_content_parameters; + fs_validate_initialize_partition validate_initialize_partition; // writing fs_defragment_partition defragment_partition; @@ -276,9 +287,9 @@ typedef struct fs_module_info { fs_resize_partition resize_partition; fs_move_partition move_partition; fs_set_content_name set_content_name; - fs_initialize_partition initialize_partition; fs_set_partition_content_parameters set_partition_content_parameters; + fs_initialize_partition initialize_partition; } fs_module_info; #endif // _K_DISK_DEVICE_MODULES_H diff --git a/src/add-ons/kernel/disk_scanner/fs/bfs.c b/src/add-ons/kernel/disk_scanner/fs/bfs.c index 2866cf3906..cb9acbb971 100644 --- a/src/add-ons/kernel/disk_scanner/fs/bfs.c +++ b/src/add-ons/kernel/disk_scanner/fs/bfs.c @@ -277,15 +277,15 @@ static fs_module_info bfs_module = { NULL, // supports_resizing_partition NULL, // supports_moving_partition NULL, // supports_setting_content_name + NULL, // supports_setting_content_parameters NULL, // supports_initializing_partition NULL, // is_sub_system_for NULL, // validate_resize_partition NULL, // validate_move_partition NULL, // validate_set_content_name + NULL, // validate_set_partition_content_parameters NULL, // validate_initialize_partition - NULL, - // validate_set_partition_content_parameters // writing NULL, // defragment_partition @@ -293,8 +293,8 @@ static fs_module_info bfs_module = { NULL, // resize_partition NULL, // move_partition NULL, // set_content_name - NULL, // initialize_partition NULL, // set_partition_content_parameters + NULL, // initialize_partition }; diff --git a/src/add-ons/kernel/partitioning_systems/intel/intel.cpp b/src/add-ons/kernel/partitioning_systems/intel/intel.cpp index 9b7f7c6568..03f755e3ff 100644 --- a/src/add-ons/kernel/partitioning_systems/intel/intel.cpp +++ b/src/add-ons/kernel/partitioning_systems/intel/intel.cpp @@ -316,10 +316,12 @@ static partition_module_info intel_partition_map_module = { NULL, // supports_setting_name NULL, // supports_setting_content_name NULL, // supports_setting_type - NULL, // supports_creating_child_partition - NULL, // supports_deleting_child_partition + NULL, // supports_setting_parameters + NULL, // supports_setting_content_parameters NULL, // supports_initializing_partition NULL, // supports_initializing_child_partition + NULL, // supports_creating_child_partition + NULL, // supports_deleting_child_partition NULL, // is_sub_system_for NULL, // validate_resize_partition @@ -329,10 +331,10 @@ static partition_module_info intel_partition_map_module = { NULL, // validate_set_name NULL, // validate_set_content_name NULL, // validate_set_type - NULL, // validate_create_child_partition - NULL, // validate_initialize_partition NULL, // validate_set_partition_parameters NULL, // validate_set_partition_content_parameters + NULL, // validate_initialize_partition + NULL, // validate_create_child_partition NULL, // get_partitionable_spaces NULL, // get_next_supported_type NULL, // get_type_for_content_type @@ -346,11 +348,11 @@ static partition_module_info intel_partition_map_module = { NULL, // set_name NULL, // set_content_name NULL, // set_type - NULL, // create_child_partition - NULL, // delete_child_partition - NULL, // initialize_partition NULL, // set_parameters_partition NULL, // set_partition_content_parameters + NULL, // initialize_partition + NULL, // create_child_partition + NULL, // delete_child_partition }; @@ -394,10 +396,12 @@ static partition_module_info intel_extended_partition_module = { NULL, // supports_setting_name NULL, // supports_setting_content_name NULL, // supports_setting_type - NULL, // supports_creating_child_partition - NULL, // supports_deleting_child_partition + NULL, // supports_setting_parameters + NULL, // supports_setting_content_parameters NULL, // supports_initializing_partition NULL, // supports_initializing_child_partition + NULL, // supports_creating_child_partition + NULL, // supports_deleting_child_partition NULL, // is_sub_system_for NULL, // validate_resize_partition @@ -407,10 +411,10 @@ static partition_module_info intel_extended_partition_module = { NULL, // validate_set_name NULL, // validate_set_content_name NULL, // validate_set_type - NULL, // validate_create_child_partition - NULL, // validate_initialize_partition NULL, // validate_set_partition_parameters NULL, // validate_set_partition_content_parameters + NULL, // validate_initialize_partition + NULL, // validate_create_child_partition NULL, // get_partitionable_spaces NULL, // get_next_supported_type NULL, // get_type_for_content_type @@ -424,11 +428,11 @@ static partition_module_info intel_extended_partition_module = { NULL, // set_name NULL, // set_content_name NULL, // set_type - NULL, // create_child_partition - NULL, // delete_child_partition - NULL, // initialize_partition NULL, // set_parameters_partition NULL, // set_partition_content_parameters + NULL, // initialize_partition + NULL, // create_child_partition + NULL, // delete_child_partition }; diff --git a/src/kernel/core/disk_device_manager/KDiskSystem.cpp b/src/kernel/core/disk_device_manager/KDiskSystem.cpp index df83c8802b..c51034505e 100644 --- a/src/kernel/core/disk_device_manager/KDiskSystem.cpp +++ b/src/kernel/core/disk_device_manager/KDiskSystem.cpp @@ -205,7 +205,7 @@ KDiskSystem::SupportsResizingChild(KPartition *child) // SupportsMoving bool -KDiskSystem::SupportsMoving(KPartition *partition, bool *whileMounted) +KDiskSystem::SupportsMoving(KPartition *partition, bool *isNoOp) { // to be implemented by derived classes return false; @@ -244,17 +244,18 @@ KDiskSystem::SupportsSettingType(KPartition *partition) return false; } -// SupportsCreatingChild +// SupportsSettingParameters bool -KDiskSystem::SupportsCreatingChild(KPartition *parent) +KDiskSystem::SupportsSettingParameters(KPartition *partition) { // to be implemented by derived classes return false; } -// SupportsDeletingChild +// SupportsSettingContentParameters bool -KDiskSystem::SupportsDeletingChild(KPartition *child) +KDiskSystem::SupportsSettingContentParameters(KPartition *partition, + bool *whileMounted) { // to be implemented by derived classes return false; @@ -277,6 +278,22 @@ KDiskSystem::SupportsInitializingChild(KPartition *child, return false; } +// SupportsCreatingChild +bool +KDiskSystem::SupportsCreatingChild(KPartition *parent) +{ + // to be implemented by derived classes + return false; +} + +// SupportsDeletingChild +bool +KDiskSystem::SupportsDeletingChild(KPartition *child) +{ + // to be implemented by derived classes + return false; +} + // IsSubSystemFor bool KDiskSystem::IsSubSystemFor(KPartition *partition) @@ -341,11 +358,19 @@ KDiskSystem::ValidateSetType(KPartition *partition, const char *type) return false; } -// ValidateCreateChild +// ValidateSetParameters bool -KDiskSystem::ValidateCreateChild(KPartition *partition, off_t *start, - off_t *size, const char *type, - const char *parameters) +KDiskSystem::ValidateSetParameters(KPartition *partition, + const char *parameters) +{ + // to be implemented by derived classes + return false; +} + +// ValidateSetContentParameters +bool +KDiskSystem::ValidateSetContentParameters(KPartition *child, + const char *parameters) { // to be implemented by derived classes return false; @@ -360,19 +385,11 @@ KDiskSystem::ValidateInitialize(KPartition *partition, char *name, return false; } -// ValidateSetParameters +// ValidateCreateChild bool -KDiskSystem::ValidateSetParameters(KPartition *partition, - const char *parameters) -{ - // to be implemented by derived classes - return false; -} - -// ValidateSetContentParameters -bool -KDiskSystem::ValidateSetContentParameters(KPartition *child, - const char *parameters) +KDiskSystem::ValidateCreateChild(KPartition *partition, off_t *start, + off_t *size, const char *type, + const char *parameters) { // to be implemented by derived classes return false; @@ -487,20 +504,19 @@ KDiskSystem::SetType(KPartition *partition, char *type, KDiskDeviceJob *job) return B_ERROR; } -// CreateChild +// SetParameters status_t -KDiskSystem::CreateChild(KPartition *partition, off_t offset, off_t size, - const char *type, const char *parameters, - KDiskDeviceJob *job, KPartition **child, - partition_id childID) +KDiskSystem::SetParameters(KPartition *partition, const char *parameters, + KDiskDeviceJob *job) { // to be implemented by derived classes return B_ERROR; } -// DeleteChild +// SetContentParameters status_t -KDiskSystem::DeleteChild(KPartition *child, KDiskDeviceJob *job) +KDiskSystem::SetContentParameters(KPartition *partition, + const char *parameters, KDiskDeviceJob *job) { // to be implemented by derived classes return B_ERROR; @@ -515,19 +531,20 @@ KDiskSystem::Initialize(KPartition *partition, const char *name, return B_ERROR; } -// SetParameters +// CreateChild status_t -KDiskSystem::SetParameters(KPartition *partition, const char *parameters, - KDiskDeviceJob *job) +KDiskSystem::CreateChild(KPartition *partition, off_t offset, off_t size, + const char *type, const char *parameters, + KDiskDeviceJob *job, KPartition **child, + partition_id childID) { // to be implemented by derived classes return B_ERROR; } -// SetContentParameters +// DeleteChild status_t -KDiskSystem::SetContentParameters(KPartition *partition, - const char *parameters, KDiskDeviceJob *job) +KDiskSystem::DeleteChild(KPartition *child, KDiskDeviceJob *job) { // to be implemented by derived classes return B_ERROR; diff --git a/src/kernel/core/disk_device_manager/KFileSystem.cpp b/src/kernel/core/disk_device_manager/KFileSystem.cpp index 19d657beeb..064a5ba925 100644 --- a/src/kernel/core/disk_device_manager/KFileSystem.cpp +++ b/src/kernel/core/disk_device_manager/KFileSystem.cpp @@ -119,11 +119,11 @@ KFileSystem::SupportsResizing(KPartition *partition, bool *whileMounted) // SupportsMoving bool -KFileSystem::SupportsMoving(KPartition *partition, bool *whileMounted) +KFileSystem::SupportsMoving(KPartition *partition, bool *isNoOp) { // to be implemented - if (whileMounted) - *whileMounted = false; + if (isNoOp) + *isNoOp = false; return false; } @@ -136,6 +136,15 @@ KFileSystem::SupportsSettingContentName(KPartition *partition, return false; } +// SupportsSettingContentParameters +bool +KFileSystem::SupportsSettingContentParameters(KPartition *partition, + bool *whileMounted) +{ + // to be implemented + return false; +} + // SupportsInitializing bool KFileSystem::SupportsInitializing(KPartition *partition) @@ -176,19 +185,19 @@ KFileSystem::ValidateSetContentName(KPartition *partition, char *name) return false; } -// ValidateInitialize +// ValidateSetContentParameters bool -KFileSystem::ValidateInitialize(KPartition *partition, char *name, - const char *parameters) +KFileSystem::ValidateSetContentParameters(KPartition *child, + const char *parameters) { // to be implemented return false; } -// ValidateSetContentParameters +// ValidateInitialize bool -KFileSystem::ValidateSetContentParameters(KPartition *child, - const char *parameters) +KFileSystem::ValidateInitialize(KPartition *partition, char *name, + const char *parameters) { // to be implemented return false; @@ -235,19 +244,19 @@ KFileSystem::SetContentName(KPartition *partition, char *name, return B_ERROR; } -// Initialize +// SetContentParameters status_t -KFileSystem::Initialize(KPartition *partition, const char *name, - const char *parameters, KDiskDeviceJob *job) +KFileSystem::SetContentParameters(KPartition *partition, + const char *parameters, KDiskDeviceJob *job) { // to be implemented return B_ERROR; } -// SetContentParameters +// Initialize status_t -KFileSystem::SetContentParameters(KPartition *partition, - const char *parameters, KDiskDeviceJob *job) +KFileSystem::Initialize(KPartition *partition, const char *name, + const char *parameters, KDiskDeviceJob *job) { // to be implemented return B_ERROR; diff --git a/src/kernel/core/disk_device_manager/KPartitioningSystem.cpp b/src/kernel/core/disk_device_manager/KPartitioningSystem.cpp index 1523e42cc3..905971624e 100644 --- a/src/kernel/core/disk_device_manager/KPartitioningSystem.cpp +++ b/src/kernel/core/disk_device_manager/KPartitioningSystem.cpp @@ -127,7 +127,7 @@ KPartitioningSystem::SupportsResizingChild(KPartition *child) // SupportsMoving bool -KPartitioningSystem::SupportsMoving(KPartition *partition, bool *whileMounted) +KPartitioningSystem::SupportsMoving(KPartition *partition, bool *isNoOp) { // to be implemented return false; @@ -166,17 +166,18 @@ KPartitioningSystem::SupportsSettingType(KPartition *partition) return false; } -// SupportsCreatingChild +// SupportsSettingParameters bool -KPartitioningSystem::SupportsCreatingChild(KPartition *partition) +KPartitioningSystem::SupportsSettingParameters(KPartition *partition) { // to be implemented return false; } -// SupportsDeletingChild +// SupportsSettingContentParameters bool -KPartitioningSystem::SupportsDeletingChild(KPartition *child) +KPartitioningSystem::SupportsSettingContentParameters(KPartition *partition, + bool *whileMounted) { // to be implemented return false; @@ -199,6 +200,22 @@ KPartitioningSystem::SupportsInitializingChild(KPartition *child, return false; } +// SupportsCreatingChild +bool +KPartitioningSystem::SupportsCreatingChild(KPartition *partition) +{ + // to be implemented + return false; +} + +// SupportsDeletingChild +bool +KPartitioningSystem::SupportsDeletingChild(KPartition *child) +{ + // to be implemented + return false; +} + // IsSubSystemFor bool KPartitioningSystem::IsSubSystemFor(KPartition *partition) @@ -263,11 +280,19 @@ KPartitioningSystem::ValidateSetType(KPartition *partition, const char *type) return false; } -// ValidateCreateChild +// ValidateSetParameters bool -KPartitioningSystem::ValidateCreateChild(KPartition *partition, off_t *start, - off_t *size, const char *type, - const char *parameters) +KPartitioningSystem::ValidateSetParameters(KPartition *partition, + const char *parameters) +{ + // to be implemented + return false; +} + +// ValidateSetContentParameters +bool +KPartitioningSystem::ValidateSetContentParameters(KPartition *child, + const char *parameters) { // to be implemented return false; @@ -282,19 +307,11 @@ KPartitioningSystem::ValidateInitialize(KPartition *partition, char *name, return false; } -// ValidateSetParameters +// ValidateCreateChild bool -KPartitioningSystem::ValidateSetParameters(KPartition *partition, - const char *parameters) -{ - // to be implemented - return false; -} - -// ValidateSetContentParameters -bool -KPartitioningSystem::ValidateSetContentParameters(KPartition *child, - const char *parameters) +KPartitioningSystem::ValidateCreateChild(KPartition *partition, off_t *start, + off_t *size, const char *type, + const char *parameters) { // to be implemented return false; @@ -407,34 +424,6 @@ KPartitioningSystem::SetType(KPartition *partition, char *type, return B_ERROR; } -// CreateChild -status_t -KPartitioningSystem::CreateChild(KPartition *partition, off_t offset, - off_t size, const char *type, - const char *parameters, KDiskDeviceJob *job, - KPartition **child, partition_id childID) -{ - // to be implemented - return B_ERROR; -} - -// DeleteChild -status_t -KPartitioningSystem::DeleteChild(KPartition *child, KDiskDeviceJob *job) -{ - // to be implemented - return B_ERROR; -} - -// Initialize -status_t -KPartitioningSystem::Initialize(KPartition *partition, const char *name, - const char *parameters, KDiskDeviceJob *job) -{ - // to be implemented - return B_ERROR; -} - // SetParameters status_t KPartitioningSystem::SetParameters(KPartition *partition, @@ -454,6 +443,34 @@ KPartitioningSystem::SetContentParameters(KPartition *partition, return B_ERROR; } +// Initialize +status_t +KPartitioningSystem::Initialize(KPartition *partition, const char *name, + const char *parameters, KDiskDeviceJob *job) +{ + // to be implemented + return B_ERROR; +} + +// CreateChild +status_t +KPartitioningSystem::CreateChild(KPartition *partition, off_t offset, + off_t size, const char *type, + const char *parameters, KDiskDeviceJob *job, + KPartition **child, partition_id childID) +{ + // to be implemented + return B_ERROR; +} + +// DeleteChild +status_t +KPartitioningSystem::DeleteChild(KPartition *child, KDiskDeviceJob *job) +{ + // to be implemented + return B_ERROR; +} + // LoadModule status_t KPartitioningSystem::LoadModule()