Bug 6226

Summary: Модуль параметров SMART
Product: [Свободные проекты (Open source projects)] Tartarus Reporter: Devaev Maxim <mdevaev>
Component: Settingsd modulesAssignee: Devaev Maxim <mdevaev>
Status: CLOSED FIXED QA Contact: Vitaly Lipatov <lav>
Severity: minor    
Priority: P4 CC: baraka, lav, pav, sin
Version: не указана   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 5903    

Description Devaev Maxim 2010-10-18 23:35:17 MSD
Поскольку существует проблема выхода дисков сервера из строя, нужно реализовать модуль, позволяющий просматривать параметры Smart для дисков.
Comment 1 Devaev Maxim 2010-11-12 21:57:34 MSK
Написал модуль, реализующий интерфейс просмотра параметров smart. Требуется некоторая доработка.
Comment 2 Devaev Maxim 2010-11-13 22:38:14 MSK
Пришлось переписать большую часть кода. Раньше для получения списка дисков использовалась команда smartctl --scan, однако выяснилось, что она не определяет USB-диски. Теперь модуль реализован с помощью udev.
Модуль умеет ловить подключение дисков на лету, выставлять их на шину и удалять отключенные. Можно просмотреть SMART-атрибуты диска и его здоровье (smartctl -H <device>). Так же имеется сигнал, оповещающий об изменениях в списке дисков. Выборка осуществляется по фильтру имен устройств Сейчас поддерживается "sd[a-z]+" и "hd[a-z]+".
Требуется доработка для того, чтобы при постановке объектов на учет проверять действительную работоспособность SMART на них, потому что сейчас, например, при подключении флешки, любой из методов проверки на нее возвращает ошибку. Такого быть не должно. Udev не знает специальных флагов SMART, поэтому придется проверять это отдельно.
Comment 3 Devaev Maxim 2010-11-15 17:57:02 MSK
Создание внутренних объектов класса перенесено из initService() в конструктор.
Первый запуск теперь не вызывает сигналов о добавлении диска.
Comment 4 Devaev Maxim 2010-11-15 22:14:27 MSK
ДОбавил простую проверку на поддкржку смарта: smartctl /path/to/device.