diff --git a/headers/private/kernel/disk_device_manager/KPartition.h b/headers/private/kernel/disk_device_manager/KPartition.h index 4dbda759f8..dfa249c3d0 100644 --- a/headers/private/kernel/disk_device_manager/KPartition.h +++ b/headers/private/kernel/disk_device_manager/KPartition.h @@ -106,6 +106,9 @@ public: void SetVolumeID(dev_t volumeID); dev_t VolumeID() const; + void SetMountCookie(void *cookie); + void *MountCookie() const; + virtual status_t Mount(uint32 mountFlags, const char *parameters); virtual status_t Unmount(); diff --git a/headers/private/kernel/disk_device_manager/disk_device_manager.h b/headers/private/kernel/disk_device_manager/disk_device_manager.h index 7d7c4d7465..6342af1c9b 100644 --- a/headers/private/kernel/disk_device_manager/disk_device_manager.h +++ b/headers/private/kernel/disk_device_manager/disk_device_manager.h @@ -28,6 +28,7 @@ typedef struct partition_data { uint32 status; // [sys] uint32 flags; dev_t volume; // [sys] + void *mount_cookie; // [sys] char *name; // max: B_OS_NAME_LENGTH char *content_name; // char *type; // diff --git a/src/kernel/core/disk_device_manager/KPartition.cpp b/src/kernel/core/disk_device_manager/KPartition.cpp index a76015939d..1e1e6ab270 100644 --- a/src/kernel/core/disk_device_manager/KPartition.cpp +++ b/src/kernel/core/disk_device_manager/KPartition.cpp @@ -49,6 +49,7 @@ KPartition::KPartition(partition_id id) fPartitionData.status = B_PARTITION_UNRECOGNIZED; fPartitionData.flags = B_PARTITION_BUSY | B_PARTITION_DESCENDANT_BUSY; fPartitionData.volume = -1; + fPartitionData.mount_cookie = NULL; fPartitionData.name = NULL; fPartitionData.content_name = NULL; fPartitionData.type = NULL; @@ -503,6 +504,20 @@ KPartition::VolumeID() const return fPartitionData.volume; } +// SetMountCookie +void +KPartition::SetMountCookie(void *cookie) +{ + fPartitionData.mount_cookie = cookie; +} + +// MountCookie +void * +KPartition::MountCookie() const +{ + return fPartitionData.mount_cookie; +} + // Mount status_t KPartition::Mount(uint32 mountFlags, const char *parameters)