* Implemented what was left to do for KDiskDevice and KPartition

management regarding removal and deletion of objects.
* Fixed the file disk system related stuff. KFileDiskSystem now uses the
  virtualdrive driver. The former method was seemed simple and brilliant,
  but the B_SET_PARTITION ioctl wouldn't work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3650 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2003-06-24 23:56:16 +00:00
parent 7a424c3923
commit b23394f957
8 changed files with 274 additions and 101 deletions
@@ -53,7 +53,7 @@ public:
KFileDiskDevice *RegisterFileDevice(const char *filePath,
bool noShadow = true);
status_t CreateFileDevice(const char *filePath, int32 *device = 0);
status_t CreateFileDevice(const char *filePath, partition_id *device = 0);
status_t DeleteFileDevice(const char *filePath);
// manager must be locked
@@ -62,6 +62,7 @@ public:
bool PartitionAdded(KPartition *partition); // implementation internal
bool PartitionRemoved(KPartition *partition); //
bool DeletePartition(KPartition *partition); //
// Jobs
@@ -106,9 +107,10 @@ private:
status_t _ScanPartition(KPartition *partition);
BLocker fLock;
List<KDiskDevice*> fDevices; // TODO: Optimize!
List<KPartition*> fPartitions; //
List<KDiskSystem*> fDiskSystems; //
List<KDiskDevice*> fDevices; // TODO: Optimize!
List<KPartition*> fPartitions; //
List<KDiskSystem*> fDiskSystems; //
List<KPartition*> fObsoletePartitions; //
static KDiskDeviceManager *fDefaultManager;
};