diff --git a/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h b/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h index 3ba9362185..ab7d7345d3 100644 --- a/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h +++ b/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h @@ -151,6 +151,7 @@ private: // instantiations class KDiskDevice; class KDiskDeviceManager; +class KDiskSystem; class KPartition; typedef AutoLocker > @@ -178,6 +179,24 @@ public: typedef AutoLocker > PartitionRegistrar; +// AutoLockerDiskSystemLoading +template +class AutoLockerDiskSystemLoading { +public: + inline bool Lock(KDiskSystem *diskSystem) + { + return (diskSystem->Load() == B_OK); + } + + inline void Unlock(KDiskSystem *diskSystem) + { + diskSystem->Unload(); + } +}; + +typedef AutoLocker > + DiskSystemLoader; + } // namespace DiskDevice } // namespace BPrivate @@ -187,5 +206,6 @@ using BPrivate::DiskDevice::DeviceReadLocker; using BPrivate::DiskDevice::DeviceWriteLocker; using BPrivate::DiskDevice::ManagerLocker; using BPrivate::DiskDevice::PartitionRegistrar; +using BPrivate::DiskDevice::DiskSystemLoader; #endif // _K_DISK_DEVICE_H