va_end(ap);
entry = debugfs_create_symlink(name, parent, dest);
- if (IS_ERR_OR_NULL(entry)) {
- CERROR("LdebugFS: Could not create symbolic link from %s to %s\n",
- name, dest);
- entry = NULL;
- }
OBD_FREE(dest, MAX_STRING_SIZE + 1);
no_entry:
if (obd->obd_recovering == 0) {
seq_printf(m, "COMPLETE\n");
seq_printf(m, "recovery_start: %lld\n",
- (s64)obd->obd_recovery_start);
+ (s64)ktime_get_real_seconds() -
+ (ktime_get_seconds() - obd->obd_recovery_start));
seq_printf(m, "recovery_duration: %lld\n",
obd->obd_recovery_end ?
obd->obd_recovery_end - obd->obd_recovery_start :
- ktime_get_real_seconds() - obd->obd_recovery_start);
+ ktime_get_seconds() - obd->obd_recovery_start);
/* Number of clients that have completed recovery */
seq_printf(m, "completed_clients: %d/%d\n",
atomic_read(&obd->obd_max_recoverable_clients) -
seq_printf(m, "non-ready MDTs: %s\n",
buf ? buf : "unknown (not enough RAM)");
seq_printf(m, "recovery_start: %lld\n",
- (s64)obd->obd_recovery_start);
+ (s64)ktime_get_real_seconds() -
+ (ktime_get_seconds() -
+ obd->obd_recovery_start));
seq_printf(m, "time_waited: %lld\n",
- (s64)(ktime_get_real_seconds() -
+ (s64)(ktime_get_seconds() -
obd->obd_recovery_start));
}
}
seq_printf(m, "RECOVERING\n");
- seq_printf(m, "recovery_start: %lld\n", (s64)obd->obd_recovery_start);
+ seq_printf(m, "recovery_start: %lld\n", (s64)ktime_get_real_seconds() -
+ (ktime_get_seconds() - obd->obd_recovery_start));
seq_printf(m, "time_remaining: %lld\n",
- ktime_get_real_seconds() >=
+ ktime_get_seconds() >=
obd->obd_recovery_start +
obd->obd_recovery_timeout ? 0 :
(s64)(obd->obd_recovery_start +
obd->obd_recovery_timeout -
- ktime_get_real_seconds()));
+ ktime_get_seconds()));
seq_printf(m, "connected_clients: %d/%d\n",
atomic_read(&obd->obd_connected_clients),
atomic_read(&obd->obd_max_recoverable_clients));
struct obd_device *obd = container_of(kobj, struct obd_device,
obd_kset.kobj);
- return scnprintf(buf, PAGE_SIZE, "%ld\n", obd->obd_recovery_timeout);
+ return scnprintf(buf, PAGE_SIZE, "%d\n", obd->obd_recovery_timeout);
}
EXPORT_SYMBOL(recovery_time_soft_show);
struct obd_device *obd = container_of(kobj, struct obd_device,
obd_kset.kobj);
- return scnprintf(buf, PAGE_SIZE, "%ld\n", obd->obd_recovery_time_hard);
+ return scnprintf(buf, PAGE_SIZE, "%d\n", obd->obd_recovery_time_hard);
}
EXPORT_SYMBOL(recovery_time_hard_show);