Hello community, here is the log from the commit of package smartmontools for openSUSE:Factory checked in at 2017-08-12 20:00:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/smartmontools (Old) and /work/SRC/openSUSE:Factory/.smartmontools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "smartmontools" Sat Aug 12 20:00:11 2017 rev:72 rq:514991 version:6.5 Changes: -------- --- /work/SRC/openSUSE:Factory/smartmontools/smartmontools.changes 2017-01-11 12:01:37.619795046 +0100 +++ /work/SRC/openSUSE:Factory/.smartmontools.new/smartmontools.changes 2017-08-12 20:00:20.625817756 +0200 @@ -1,0 +2,8 @@ +Fri Jul 14 21:04:35 CEST 2017 - [email protected] + +- SCSI temperature error fixes (bsc#1047198, + smartmontools-scsi-suppress-no-temperature.patch, + smartmontools-scsi-temperature-check.patch, + smartmontools-log-scsi-temperature.patch). + +------------------------------------------------------------------- New: ---- smartmontools-log-scsi-temperature.patch smartmontools-scsi-suppress-no-temperature.patch smartmontools-scsi-temperature-check.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ smartmontools.spec ++++++ --- /var/tmp/diff_new_pack.XO6GfB/_old 2017-08-12 20:00:23.037479951 +0200 +++ /var/tmp/diff_new_pack.XO6GfB/_new 2017-08-12 20:00:23.045478831 +0200 @@ -1,7 +1,7 @@ # # spec file for package smartmontools # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -38,6 +38,12 @@ Patch11: smartd-service-novm.patch # PATCH-FIX-OPENSUSE smartmontools-systemd-no-syslog.patch bsc983938 [email protected] -- syslog.target does not exist any more. Patch12: smartmontools-systemd-no-syslog.patch +# PATCH-FIX-UPSTREAM smartmontools-scsi-suppress-no-temperature.patch bsc1047198 [email protected] -- Always suppress "failed to read Temperature" message. +Patch13: smartmontools-scsi-suppress-no-temperature.patch +# PATCH-FIX-UPSTREAM smartmontools-scsi-temperature-check.patch bsc1047198 [email protected] -- Fix initial check for SCSI temperature support. +Patch14: smartmontools-scsi-temperature-check.patch +# PATCH-FIX-UPSTREAM smartmontools-log-scsi-temperature.patch bsc1047198 [email protected] -- Log SCSI temperature regardless of its origin. +Patch15: smartmontools-log-scsi-temperature.patch Requires(pre): %fillup_prereq # Needed by generate_smartd_opt: Requires(pre): coreutils @@ -74,6 +80,9 @@ %patch10 -p1 %patch11 %patch12 -p1 +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 # # PATCH-FEATURE-OPENSUSE (sed on smartd.service.in) [email protected] -- Use generated smartd_opts (from SUSE sysconfig file). Systemd smartd.service cannot be smart enough to parse SUSE sysconfig file and generate smartd_opts on fly. And we do not want to launch shell just for it in every boot. sed "s:/usr/local/etc/sysconfig/smartmontools:%{_localstatedir}/lib/smartmontools/smartd_opts:" <smartd.service.in >smartd.service.in.new ++++++ smartmontools-log-scsi-temperature.patch ++++++ Index: smartmontools-6.5/ChangeLog =================================================================== --- smartmontools-6.5.orig/ChangeLog +++ smartmontools-6.5/ChangeLog @@ -5,6 +5,7 @@ $Id: ChangeLog 4318 2016-05-07 11:18:20Z smartd.cpp: Always suppress "failed to read Temperature" message if SCSI device does not support temperature (ticket #817). Fix initial check for SCSI temperature support. + Log SCSI temperature regardless of its origin. 2016-05-07 Christian Franke <[email protected]> Index: smartmontools-6.5/smartd.cpp =================================================================== --- smartmontools-6.5.orig/smartd.cpp +++ smartmontools-6.5/smartd.cpp @@ -794,8 +794,8 @@ static bool write_dev_attrlog(const char fprintf(f, "\tnon-medium-errors;%" PRIu64 ";", state.scsi_nonmedium_error.nme.counterPC0); } // write SCSI current temperature if it is monitored - if(state.TempPageSupported && state.temperature) - fprintf(f, "\ttemperature;%d;", state.temperature); + if (state.temperature) + fprintf(f, "\ttemperature;%d;", state.temperature); // end of line fprintf(f, "\n"); return true; ++++++ smartmontools-scsi-suppress-no-temperature.patch ++++++ Index: smartmontools-6.5/ChangeLog =================================================================== --- smartmontools-6.5.orig/ChangeLog +++ smartmontools-6.5/ChangeLog @@ -1,5 +1,10 @@ $Id: ChangeLog 4318 2016-05-07 11:18:20Z chrfranke $ +2017-03-27 Christian Franke <[email protected]> + + smartd.cpp: Always suppress "failed to read Temperature" message + if SCSI device does not support temperature (ticket #817). + 2016-05-07 Christian Franke <[email protected]> smartmontools 6.5 Index: smartmontools-6.5/smartd.cpp =================================================================== --- smartmontools-6.5.orig/smartd.cpp +++ smartmontools-6.5/smartd.cpp @@ -3448,7 +3448,7 @@ static int SCSICheckDevice(const dev_con PrintOut(LOG_INFO,"Device: %s, SMART health: passed\n", name); // check temperature limits - if (cfg.tempdiff || cfg.tempinfo || cfg.tempcrit || !cfg.attrlog_file.empty()) + if (cfg.tempdiff || cfg.tempinfo || cfg.tempcrit) CheckTemperature(cfg, state, currenttemp, triptemp); // check if number of selftest errors has increased (note: may also DECREASE) @@ -3483,6 +3483,9 @@ static int SCSICheckDevice(const dev_con scsiDecodeNonMediumErrPage(tBuf, &state.scsi_nonmedium_error.nme); state.scsi_nonmedium_error.found=1; } + // store temperature if not done by CheckTemperature() above + if (!(cfg.tempdiff || cfg.tempinfo || cfg.tempcrit)) + state.temperature = currenttemp; } CloseDevice(scsidev, name); return 0; ++++++ smartmontools-scsi-temperature-check.patch ++++++ Index: smartmontools-6.5/ChangeLog =================================================================== --- smartmontools-6.5.orig/ChangeLog +++ smartmontools-6.5/ChangeLog @@ -4,6 +4,7 @@ $Id: ChangeLog 4318 2016-05-07 11:18:20Z smartd.cpp: Always suppress "failed to read Temperature" message if SCSI device does not support temperature (ticket #817). + Fix initial check for SCSI temperature support. 2016-05-07 Christian Franke <[email protected]> Index: smartmontools-6.5/smartd.cpp =================================================================== --- smartmontools-6.5.orig/smartd.cpp +++ smartmontools-6.5/smartd.cpp @@ -2345,11 +2345,12 @@ static int SCSIDeviceScan(dev_config & c &asc, &ascq, ¤ttemp, &triptemp)) { PrintOut(LOG_INFO, "Device: %s, unexpectedly failed to read SMART values\n", device); state.SuppressReport = 1; - if (cfg.tempdiff || cfg.tempinfo || cfg.tempcrit) { - PrintOut(LOG_INFO, "Device: %s, can't monitor Temperature, ignoring -W %d,%d,%d\n", - device, cfg.tempdiff, cfg.tempinfo, cfg.tempcrit); - cfg.tempdiff = cfg.tempinfo = cfg.tempcrit = 0; - } + } + if ( (state.SuppressReport || !currenttemp) + && (cfg.tempdiff || cfg.tempinfo || cfg.tempcrit)) { + PrintOut(LOG_INFO, "Device: %s, can't monitor Temperature, ignoring -W %d,%d,%d\n", + device, cfg.tempdiff, cfg.tempinfo, cfg.tempcrit); + cfg.tempdiff = cfg.tempinfo = cfg.tempcrit = 0; } }
