From: Jean-Philippe Orsini Date: Sun, 25 Mar 2012 09:19:04 +0000 (+0000) Subject: diagnostic sk_disk_open failure X-Git-Tag: v0.8.0.5~473 X-Git-Url: https://git.wpitchoune.net/gitweb/?p=psensor.git;a=commitdiff_plain;h=846861051028b3e5f09c51eed7eb729cc01b6387 diagnostic sk_disk_open failure --- diff --git a/src/lib/hdd_atasmart.c b/src/lib/hdd_atasmart.c index d7b2351..c15f06e 100644 --- a/src/lib/hdd_atasmart.c +++ b/src/lib/hdd_atasmart.c @@ -20,8 +20,12 @@ #include #define _(str) gettext(str) +#include +#include #include #include +#include + #include @@ -48,6 +52,21 @@ create_sensor(char *id, char *name, SkDisk *disk, int values_max_length) return s; } +static void analyze_disk(const char *dname) +{ + int f; + + log_debug("Analyze error for disk: %s", dname); + + f = open(dname, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_CLOEXEC); + + if (f != -1) + close(f); + else + log_debug("Could not open file %s: %s", dname, strerror(errno)); +} + + struct psensor **hdd_psensor_list_add(struct psensor **sensors, int values_max_length) { @@ -81,7 +100,8 @@ struct psensor **hdd_psensor_list_add(struct psensor **sensors, result = tmp_sensors; } else { - log_err("Failed to open %s", *tmp); + log_err("sk_disk_open %s failure", *tmp); + analyze_disk(*tmp); } tmp++;