UFS disks have this line in their hald descriptor: > org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} And ZFS disks don't have method_names As a result, this kde code fails to find ZFS mount points: > foreach (const Solid::Device &device, Solid::Device::listFromType(Solid::DeviceInterface::StorageAccess)) { > qDebug() << "mount=" << device.as<Solid::StorageAccess>()->filePath() << " udi="<<device.udi(); > } KDE uses this line to test for the mounted storage device (in kdelibs): > prop("org.freedesktop.Hal.Device.Volume.method_names").toStringList().contains("Mount") Particular symptom that lead me to this is that sysutils/filelight-kde4 crosses into ZFS file systems when it is asked to scan only one file system.
In short, hald doesn't create the record for ZFS mounts. It appears that hald creates device records based on /dev/, /dev/label/, and /dev/gpt*/ entries. However, for ZFS there is no 1-1 relationship between the mount point and device, and devices can be dynamically added or removed. It should create the separate entry for every ZFS mount point as well, which isn't based on /dev/ hierarchy.
Created attachment 153536 [details] kde4 program that lists mount points (using HAL) Attaching sample kde4 project that prints all mount points, obtained from hal.
No maintainer feedback till now!
Any news here?
HAL has been removed from the ports tree in https://svnweb.freebsd.org/ports?view=revision&revision=564691. I'm closing this issue for now because of that.