S.M.A.R.T. and D-Bus

David Zeuthen zeuthen at gmail.com
Wed Sep 15 08:15:12 PDT 2010


Hey,

On Wed, Sep 15, 2010 at 8:22 AM, Lennart Poettering <mzqohf at 0pointer.de> wrote:
> On Wed, 15.09.10 14:03, Steffen Sledz (sledz at dresearch.de) wrote:
>
>> Does anybody know a method/project/extension connecting S.M.A.R.T. to
>> the (system) D-Bus (via smartd?)?
>
> udisks gives you access to hdd dish health data via D-Bus, and uses
> libatasmart for that.

Yup, this information is available, on a disk-by-disk basis, in the
DriveAtaSmart* properties, see e.g.

 http://hal.freedesktop.org/docs/udisks/Device.html#Device:DriveAtaSmartIsAvailable

This information is updated every 30 minutes or so (without waking up
sleeping disks of course). You can force an update by using the
DriveAtaSmartRefreshData() method.

Notably you can get the blob from the :DriveAtaSmartBlob property and
feed that into libatasmart's sk_disk_set_blob() function for analysis.
That's exactly what Palimpsest (a GTK+ program) doing, see

 http://people.freedesktop.org/~david/gdu-cleaned-up-smart-dialog.png

Btw, if you plan to use this udisks ABI in a project/product, then
note that udisks has an ABI stability policy allowing udisks ABI to
change/evolve at certain well-defined points while still allowing
clients to reliably figure out what ABI is in use - see the README
file accompanying udisks for details.

    David


More information about the dbus mailing list