Disk Device Manager -- Implement the Notification Mechanism
|Reported by:||bonefish||Owned by:||bonefish|
The disk device manager needs to notify userland application of two kinds of events: Changes to disk devices and partitions (added/removed devices, moved/resized/added/delete/initialized/otherwise changed partitions), and progress of disk device jobs. This notification mechanism should also be made available within the kernel.
The following tasks have to be performed:
- Implement the core of the notification mechanism in src/system/kernel/disk_device_manager.
- Implement the required syscalls to provide access to the notification mechanism for the userland API.
- Implement the respective parts of the userland API (BDiskDeviceRoster::StartWatching() and related methods).
- Provide access to the notification mechanism interface from the kernel. Both asynchronous and synchronous notifications should be supported. In case of disk device jobs it should be possible to synchronously wait for the termination of a disk device job (with/without timeout).