a hv@s(ddlZddlZGdddejjZdS)Nc@sDeZdZddgZeddZeddZeddZed d Zd S) DiskMonitorZATAZSCSIcCs<td}tt|j|}||_|D]}gd|j|<q$dS)Nz /sys/block) rrrrrrrrrrr)oslistdirsetfilter_is_device_supportedZ_available_devices_load)clsZ block_devicesZ availabledr ?/usr/lib/python3.9/site-packages/tuned/monitors/monitor_disk.py_init_available_devicess  z#DiskMonitor._init_available_devicescCs<d|}zt|}Wnty0YdS0||jvS)Nz/sys/block/%s/device/vendorF)openreadstripIOError_supported_vendors)r deviceZ vendor_fileZvendorr r r rs  z DiskMonitor._is_device_supportedcCs|jD]}||qdS)N)Z_updating_devices _update_disk)r rr r r updates zDiskMonitor.updatecCsPtd|d,}ttt||j|<Wdn1sB0YdS)Nz /sys/block/z/stat)rlistmapintrsplitr)r devZstatfiler r r r szDiskMonitor._update_diskN) __name__ __module__ __qualname__r classmethodr rrrr r r r rs   r)Ztuned.monitorsZtunedrZmonitorsZMonitorrr r r r s