From 74ae79fed93e4e7e1b5fb85da8003ccfeadb1a3e Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 19 Dec 2024 17:17:18 -0500 Subject: [PATCH] kernel/fs: Don't store the mount cookie in the KPartition. Nothing uses it. If needed, it can be retrieved through the volume (mount) ID. --- headers/os/drivers/disk_device_manager.h | 1 - .../kernel/disk_device_manager/KPartition.h | 4 --- .../disk_device_manager/KPartitionListener.h | 1 - .../kernel/disk_device_manager/KPartition.cpp | 30 ------------------- .../KPartitionListener.cpp | 6 ---- src/system/kernel/fs/vfs.cpp | 4 +-- 6 files changed, 1 insertion(+), 45 deletions(-) diff --git a/headers/os/drivers/disk_device_manager.h b/headers/os/drivers/disk_device_manager.h index 6d3508cff4..c7ada71d17 100644 --- a/headers/os/drivers/disk_device_manager.h +++ b/headers/os/drivers/disk_device_manager.h @@ -31,7 +31,6 @@ typedef struct partition_data { uint32 status; 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/headers/private/kernel/disk_device_manager/KPartition.h b/headers/private/kernel/disk_device_manager/KPartition.h index fc12eb4a5b..d009bd3805 100644 --- a/headers/private/kernel/disk_device_manager/KPartition.h +++ b/headers/private/kernel/disk_device_manager/KPartition.h @@ -125,9 +125,6 @@ public: void SetVolumeID(dev_t volumeID); dev_t VolumeID() const; - void SetMountCookie(void *cookie); - void *MountCookie() const; - // Parameters status_t SetParameters(const char *parameters); @@ -207,7 +204,6 @@ protected: void FireTypeChanged(const char *type); void FireIDChanged(partition_id id); void FireVolumeIDChanged(dev_t volumeID); - void FireMountCookieChanged(void *cookie); void FireParametersChanged(const char *parameters); void FireContentParametersChanged(const char *parameters); void FireChildAdded(KPartition *child, int32 index); diff --git a/headers/private/kernel/disk_device_manager/KPartitionListener.h b/headers/private/kernel/disk_device_manager/KPartitionListener.h index 855e942cda..d351771c64 100644 --- a/headers/private/kernel/disk_device_manager/KPartitionListener.h +++ b/headers/private/kernel/disk_device_manager/KPartitionListener.h @@ -28,7 +28,6 @@ public: virtual void TypeChanged(KPartition *partition, const char *type); virtual void IDChanged(KPartition *partition, partition_id id); virtual void VolumeIDChanged(KPartition *partition, dev_t volumeID); - virtual void MountCookieChanged(KPartition *partition, void *cookie); virtual void ParametersChanged(KPartition *partition, const char *parameters); virtual void ContentParametersChanged(KPartition *partition, diff --git a/src/system/kernel/disk_device_manager/KPartition.cpp b/src/system/kernel/disk_device_manager/KPartition.cpp index 93f7ac6d40..0499a03d9e 100644 --- a/src/system/kernel/disk_device_manager/KPartition.cpp +++ b/src/system/kernel/disk_device_manager/KPartition.cpp @@ -80,7 +80,6 @@ KPartition::KPartition(partition_id id) fPartitionData.status = B_PARTITION_UNRECOGNIZED; fPartitionData.flags = B_PARTITION_BUSY; fPartitionData.volume = -1; - fPartitionData.mount_cookie = NULL; fPartitionData.name = NULL; fPartitionData.content_name = NULL; fPartitionData.type = NULL; @@ -811,23 +810,6 @@ KPartition::VolumeID() const } -void -KPartition::SetMountCookie(void* cookie) -{ - if (fPartitionData.mount_cookie != cookie) { - fPartitionData.mount_cookie = cookie; - FireMountCookieChanged(cookie); - } -} - - -void* -KPartition::MountCookie() const -{ - return fPartitionData.mount_cookie; -} - - status_t KPartition::SetParameters(const char* parameters) { @@ -1537,18 +1519,6 @@ KPartition::FireVolumeIDChanged(dev_t volumeID) } -void -KPartition::FireMountCookieChanged(void* cookie) -{ - if (fListeners) { - for (ListenerSet::Iterator it = fListeners->Begin(); - it != fListeners->End(); ++it) { - (*it)->MountCookieChanged(this, cookie); - } - } -} - - void KPartition::FireParametersChanged(const char* parameters) { diff --git a/src/system/kernel/disk_device_manager/KPartitionListener.cpp b/src/system/kernel/disk_device_manager/KPartitionListener.cpp index 78a109d5aa..8492510f12 100644 --- a/src/system/kernel/disk_device_manager/KPartitionListener.cpp +++ b/src/system/kernel/disk_device_manager/KPartitionListener.cpp @@ -86,12 +86,6 @@ KPartitionListener::VolumeIDChanged(KPartition *partition, dev_t volumeID) { } -// MountCookieChanged -void -KPartitionListener::MountCookieChanged(KPartition *partition, void *cookie) -{ -} - // ParametersChanged void KPartitionListener::ParametersChanged(KPartition *partition, diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index eb232dd299..381dd11549 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -7672,9 +7672,8 @@ fs_mount(char* path, const char* device, const char* fsName, uint32 flags, inc_vnode_ref_count(sRoot); } - // supply the partition (if any) with the mount cookie and mark it mounted + // supply the partition (if any) with the mount ID and mark it mounted if (partition) { - partition->SetMountCookie(mount->volume->private_volume); partition->SetVolumeID(mount->id); // keep a partition reference as long as the partition is mounted @@ -7917,7 +7916,6 @@ fs_unmount(char* path, dev_t mountID, uint32 flags, bool kernel) // dereference the partition and mark it unmounted if (partition) { partition->SetVolumeID(-1); - partition->SetMountCookie(NULL); if (mount->owns_file_device) KDiskDeviceManager::Default()->DeleteFileDevice(partition->ID());