diff --git a/src/gui.c b/src/gui.c index b948a65..f9a23f5 100644 --- a/src/gui.c +++ b/src/gui.c @@ -823,9 +823,21 @@ void nwipe_gui_select( int count, nwipe_context_t** c ) wprintw( main_window, "[%s] ", c[i + offset]->device_size_text ); + // NOTE temporary timing code + clock_t t; + t = clock(); + /* Read the drive temperature values */ nwipe_update_temperature( c[i + offset] ); + // NOTE temporary timing code + t = clock() - t; + double time_taken = ( (double) t ) / CLOCKS_PER_SEC; // in seconds + nwipe_log( NWIPE_LOG_INFO, + "nwipe_update_temperature() took %f seconds for %s", + time_taken, + c[i + offset]->device_name ); + /* print the temperature */ wprintw_temperature( c[i + offset] ); diff --git a/src/hddtemp_scsi/get_scsi_temp.c b/src/hddtemp_scsi/get_scsi_temp.c index 4b0c40f..a935d3f 100644 --- a/src/hddtemp_scsi/get_scsi_temp.c +++ b/src/hddtemp_scsi/get_scsi_temp.c @@ -3,6 +3,8 @@ * in SCSI/SAS drives context structure. * Routines from hddtemp are used here. * + * Author: Gerold Gruber + * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, version 2. @@ -42,6 +44,8 @@ #include "hddtemp.h" #include "scsi.h" +int scsi_get_temperature( struct disk * ); + int nwipe_init_scsi_temperature( nwipe_context_t* c ) { diff --git a/src/hddtemp_scsi/hddtemp.h b/src/hddtemp_scsi/hddtemp.h index 58108c2..6565991 100644 --- a/src/hddtemp_scsi/hddtemp.h +++ b/src/hddtemp_scsi/hddtemp.h @@ -35,17 +35,6 @@ typedef __u16 u16; #define C_to_F(val) (int)(((double)(val)*(double)1.8) + (double)32.0) enum e_bustype { ERROR = 0, BUS_UNKNOWN, BUS_SATA, BUS_ATA, BUS_SCSI, BUS_TYPE_MAX }; -// enum e_gettemp { -// GETTEMP_ERROR, /* Error */ -// GETTEMP_NOT_APPLICABLE, /* */ -// GETTEMP_UNKNOWN, /* Drive is not in database */ -// GETTEMP_GUESS, /* Not in database, but something was guessed, user must -// check that the temperature returned is correct */ -// GETTEMP_KNOWN, /* Drive appear in database */ -// GETTEMP_NOSENSOR, /* Drive appear in database but is known to have no sensor */ -// GETTEMP_DRIVE_SLEEP, /* Drive is sleeping */ -// GETTEMP_SUCCESS /* read temperature successfully */ -// }; #define GETTEMP_SUCCESS 0 #define GETTEMP_ERROR 1 diff --git a/src/hddtemp_scsi/scsi.c b/src/hddtemp_scsi/scsi.c index a65c007..1308595 100644 --- a/src/hddtemp_scsi/scsi.c +++ b/src/hddtemp_scsi/scsi.c @@ -18,6 +18,9 @@ /* * Adapted from a patch sended by : Frederic LOCHON */ +/* + * Adapted for use with nwipe by : Gerold Gruber + */ // Include file generated by ./configure #ifdef HAVE_CONFIG_H @@ -47,26 +50,6 @@ #include "scsicmds.h" #include "hddtemp.h" -/* -static int scsi_probe(int device) { - int bus_num; - - if(ioctl(device, SCSI_IOCTL_GET_BUS_NUMBER, &bus_num)) - return 0; - else - return 1; -} - -static const char *scsi_model (int device) { - unsigned char buf[36]; - - if (scsi_inquiry(device, buf) != 0) - return strdup(_("unknown")); - else { - return strdup(buf + 8); - } -} - */ int scsi_get_temperature(struct disk *dsk) { int i; int tempPage = 0; @@ -75,26 +58,9 @@ int scsi_get_temperature(struct disk *dsk) { /* on triche un peu we cheat a little and do not really read form drivedb as SCSI disks are not included there + original code omitted as there is no need for it in the context of nwipe */ -// dsk->db_entry = (struct harddrive_entry*) malloc(sizeof(struct harddrive_entry)); -// if(dsk->db_entry == NULL) { -// perror("malloc"); -// exit(-1); -// } -// -// dsk->db_entry->regexp = ""; -// dsk->db_entry->description = ""; -// dsk->db_entry->attribute_id = 0; -// dsk->db_entry->unit = 'C'; -// dsk->db_entry->next = NULL; -// -// if (scsi_smartsupport(dsk->fd) == 0) { -// snprintf(dsk->errormsg, MAX_ERRORMSG_SIZE, _("S.M.A.R.T. not available")); -// close(dsk->fd); -// dsk->fd = -1; -// return GETTEMP_NOT_APPLICABLE; -// } -// + /* Enable SMART */ @@ -141,13 +107,3 @@ int scsi_get_temperature(struct disk *dsk) { } } -/******************************* - *******************************/ -/* -struct bustype scsi_bus = { - "SCSI", - scsi_probe, - scsi_model, - scsi_get_temperature -}; - */