Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Extend smart by adding a timestamp when last successful smart test finished

Open
#1,093 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
c

Research direction

Start with the SMART plugin, which now shells out to smartmontools, and find where it reads device attributes. The issue's sample smartctl -a output shows the Self-test log with a LifeTime(hours) column; that value is the one to capture for the last completed test. Done means the plugin reports that value, and it needs a decision on how to expose it through the D-Bus API. Expect maintainer input on that API choice before writing code.

Written by the indexing model from the issue text.

Description

RFE

Since the SMART plugin is now implemented by using smartmontools it would be nice to include a timestamp of the last finished self test.

When I use smartctl -a /dev/sda to check status of my disk I can see a history of self-tests and it includes a LifeTime timestamp when the tests was finished. The LifeTime number corresponds to the disk power-on-hours value.

SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      4539         -
# 2  Short offline       Completed without error       00%      4372         -
# 3  Short offline       Completed without error       00%      4132         -
...

It would be nice if this value was then available in the udisks dbus api.

Dominant language
C
Stars
137
Forks
64
Avg merge
1d 5h
Merged PRs (30d)
3

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from storaged-project/libblockdev

All issues in storaged-project/libblockdev

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.