smartmontools: update to 7.0
Date 2018-12-30 Summary: smartmontools release 7.0 ----------------------------------------------------------- - smartctl: New options '-j' and '--json[=giosu]' to enable experimental JSON output mode. Also supports an alternative flat format suitable for grep ('--json=g'). - smartctl '-l devstat': Fix for logs with 256 sectors. - smartctl '-l error': Prints SCSI Pending Defects log page if supported. - smartctl '-H': Prints SCSI Format Status log page if supported. - smartctl '-x': Now includes '-l defects'. - NVMe/USB: Device type '-d sntjmicron' for NVMe drives behind JMicron USB to NVMe bridges. - NVMe: SMART/Health Information and Error Information are always read with broadcast NSID. - SCSI: Various improvements for the decoding of log pages. - SCSI: Improved handling of READ CAPACITY command. - SCSI: Support for SAS host managed drives. - New option '-d scsi+TYPE' to disable SAT auto detection for 'aacraid' and 'cciss'. - update-smart-drivedb: New option '-u github'. - update-smart-drivedb: New signing key. - configure: New options '--with-cxx11-regex' and '--with-libsystemd'. - configure: Default for '--with-nvme-devicescan' is now 'yes' on Linux and Windows. - configure: Default for '--with-scriptpath' now includes '/usr/local/bin'. - configure: Options '-with-initscriptdir=[auto|yes]' are no longer supported. - Reworked handling of unaligned LE and BE integers. - Dropped various backward compatibility fixes for very old compilers. - Replaced GPL header with 'SPDX-License-Identifier' in all source files. - HDD, SSD and USB additions to drive database. - Always use '-d sat' for USB vendor IDs with known SAT support. - Linux: Device scan with '-d by-id' scans '/dev/disk/by-id/*' symlinks. - Linux: Dropped device scan support for devfs. - Linux: Fixed device scan with multiple '-d TYPE' options. - Linux: Fixed device scan crash on missing '/proc/devices'. - Linux: USB ID detection also for '/dev/sgN'. - Linux: Compile fix for systems with musl libc. - Linux smartd: Could now run as systemd service with 'Type=notify' set. - FreeBSD: NVMe device scanning. - FreeBSD: Various compile fixes. - NetBSD: Fixed regression in name based device type detection. - NetBSD big endian: Fixed regression in ATA code. - NetBSD big endian: Fixed byte ordering of ATA IDENTIFY data from USB/SAT drives. - Windows: Improved search for actual CSMI port number. - Windows: Installer includes VERSIONINFO resource.
This commit is contained in:
parent
a59ff92890
commit
3d0c6921a9
3 changed files with 7 additions and 122 deletions
|
@ -1,7 +1,6 @@
|
|||
# $NetBSD: Makefile,v 1.32 2018/08/04 19:05:13 sevan Exp $
|
||||
# $NetBSD: Makefile,v 1.33 2019/01/18 00:28:24 tnn Exp $
|
||||
|
||||
DISTNAME= smartmontools-6.6
|
||||
PKGREVISION= 1
|
||||
DISTNAME= smartmontools-7.0
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=smartmontools/}
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
$NetBSD: distinfo,v 1.31 2018/08/04 19:05:13 sevan Exp $
|
||||
$NetBSD: distinfo,v 1.32 2019/01/18 00:28:24 tnn Exp $
|
||||
|
||||
SHA1 (smartmontools-6.6.tar.gz) = 8946f6350d6df9341d571381d66ffbb7d83b8af2
|
||||
RMD160 (smartmontools-6.6.tar.gz) = 8504a7a04e99d26acb3662ae5e0e8e6d38a52b5d
|
||||
SHA512 (smartmontools-6.6.tar.gz) = 64bb533dac29f62ddd662a16a12c97df1af9cbac9ac526ce7af0b3bff9da49cf265a2030d91a7160452b56a67e80d7f34c9b4e45bbb320114f55695e2cb5cfaf
|
||||
Size (smartmontools-6.6.tar.gz) = 903847 bytes
|
||||
SHA1 (smartmontools-7.0.tar.gz) = 00e6a7bb26b283695ab0deaf521be6723ba44f0a
|
||||
RMD160 (smartmontools-7.0.tar.gz) = db20533115aa05a52836dbef0006c664083fbe90
|
||||
SHA512 (smartmontools-7.0.tar.gz) = 96e18a201182579f699d541539ce393e7bc2191e027cfdf7f87455a63da3a14451574f8fe391232047ac941ace453a017193d0a4987a4edb8f7ed9d5007f0512
|
||||
Size (smartmontools-7.0.tar.gz) = 944925 bytes
|
||||
SHA1 (patch-aa) = bd08aff267f0e9e9307ebc57858e61e35144bf16
|
||||
SHA1 (patch-ag) = 01b0b35d89d6d6a11b13b3c05a141c46a0c1590b
|
||||
SHA1 (patch-os_netbsd.cpp) = 70a5fcfbdced36203b2b07b3496cddf915ef8938
|
||||
|
|
|
@ -1,113 +0,0 @@
|
|||
$NetBSD: patch-os_netbsd.cpp,v 1.2 2018/08/04 19:05:13 sevan Exp $
|
||||
|
||||
Missing #include
|
||||
Backport fix for NetBSD on bigendian systems
|
||||
https://www.smartmontools.org/ticket/943
|
||||
https://www.smartmontools.org/changeset/4628
|
||||
|
||||
--- os_netbsd.cpp.orig 2017-08-08 19:38:15.000000000 +0000
|
||||
+++ os_netbsd.cpp
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
#include <sys/drvctlio.h>
|
||||
#include <sys/utsname.h>
|
||||
+#include <sys/stat.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -206,7 +207,7 @@ bool netbsd_ata_device::ata_pass_through
|
||||
req.sec_count = in.in_regs.sector_count;
|
||||
req.sec_num = in.in_regs.lba_low;
|
||||
req.head = in.in_regs.device;
|
||||
- req.cylinder = le16toh(in.in_regs.lba_mid | (in.in_regs.lba_high << 8));
|
||||
+ req.cylinder = in.in_regs.lba_mid | (in.in_regs.lba_high << 8);
|
||||
|
||||
switch (in.direction) {
|
||||
case ata_cmd_in::no_data:
|
||||
@@ -237,41 +238,10 @@ bool netbsd_ata_device::ata_pass_through
|
||||
out.out_regs.sector_count = req.sec_count;
|
||||
out.out_regs.lba_low = req.sec_num;
|
||||
out.out_regs.device = req.head;
|
||||
- out.out_regs.lba_mid = le16toh(req.cylinder);
|
||||
- out.out_regs.lba_high = le16toh(req.cylinder) >> 8;
|
||||
+ out.out_regs.lba_mid = req.cylinder;
|
||||
+ out.out_regs.lba_high = req.cylinder >> 8;
|
||||
out.out_regs.status = req.command;
|
||||
|
||||
- // Command specific processing
|
||||
- if (in.in_regs.command == ATA_SMART_CMD
|
||||
- && in.in_regs.features == ATA_SMART_STATUS
|
||||
- && in.out_needed.lba_high)
|
||||
- {
|
||||
- unsigned const char normal_lo=0x4f, normal_hi=0xc2;
|
||||
- unsigned const char failed_lo=0xf4, failed_hi=0x2c;
|
||||
-
|
||||
- // Cyl low and Cyl high unchanged means "Good SMART status"
|
||||
- if (!(out.out_regs.lba_mid==normal_lo && out.out_regs.lba_high==normal_hi)
|
||||
- // These values mean "Bad SMART status"
|
||||
- && !(out.out_regs.lba_mid==failed_lo && out.out_regs.lba_high==failed_hi))
|
||||
-
|
||||
- {
|
||||
- // We haven't gotten output that makes sense; print out some debugging info
|
||||
- char buf[512];
|
||||
- snprintf(buf, sizeof(buf),
|
||||
- "CMD=0x%02x\nFR =0x%02x\nNS =0x%02x\nSC =0x%02x\nCL =0x%02x\nCH =0x%02x\nRETURN =0x%04x\n",
|
||||
- (int)req.command,
|
||||
- (int)req.features,
|
||||
- (int)req.sec_count,
|
||||
- (int)req.sec_num,
|
||||
- (int)(le16toh(req.cylinder) & 0xff),
|
||||
- (int)((le16toh(req.cylinder) >> 8) & 0xff),
|
||||
- (int)req.error);
|
||||
- printwarning(BAD_SMART,buf);
|
||||
- out.out_regs.lba_high = failed_hi;
|
||||
- out.out_regs.lba_mid = failed_lo;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -834,24 +804,29 @@ smart_device * netbsd_smart_interface::a
|
||||
}
|
||||
}
|
||||
|
||||
- if (str_starts_with(test_name, net_dev_raw_prefix)) {
|
||||
+ if (str_starts_with(test_name, net_dev_raw_prefix))
|
||||
test_name += strlen(net_dev_raw_prefix);
|
||||
- if (!strncmp(net_dev_ata_disk, test_name, strlen(net_dev_ata_disk)))
|
||||
- return get_ata_device(test_name, "ata");
|
||||
- if (!strncmp(net_dev_scsi_disk, test_name, strlen(net_dev_scsi_disk))) {
|
||||
+ else if (str_starts_with(test_name, net_dev_prefix))
|
||||
+ test_name += strlen(net_dev_prefix);
|
||||
+ else
|
||||
+ return 0; // device is not starting with /dev/ or /dev/r*
|
||||
+
|
||||
+ if (!strncmp(net_dev_ata_disk, test_name, strlen(net_dev_ata_disk)))
|
||||
+ return get_ata_device(name, "ata");
|
||||
+
|
||||
+ if (!strncmp(net_dev_scsi_disk, test_name, strlen(net_dev_scsi_disk))) {
|
||||
// XXX Try to detect possible USB->(S)ATA bridge
|
||||
// XXX get USB vendor ID, product ID and version from sd(4)/umass(4).
|
||||
// XXX check sat device via get_usb_dev_type_by_id().
|
||||
-
|
||||
// No USB bridge found, assume regular SCSI device
|
||||
- return get_scsi_device(test_name, "scsi");
|
||||
- }
|
||||
- if (!strncmp(net_dev_scsi_tape, test_name, strlen(net_dev_scsi_tape)))
|
||||
- return get_scsi_device(test_name, "scsi");
|
||||
- } else if (str_starts_with(test_name, net_dev_prefix)) {
|
||||
- if (!strncmp(NVME_PREFIX, test_name, strlen(NVME_PREFIX)))
|
||||
- return get_nvme_device(test_name, "nvme", 0 /* use default nsid */);
|
||||
- }
|
||||
+ return get_scsi_device(name, "scsi");
|
||||
+ }
|
||||
+
|
||||
+ if (!strncmp(net_dev_scsi_tape, test_name, strlen(net_dev_scsi_tape)))
|
||||
+ return get_scsi_device(name, "scsi");
|
||||
+
|
||||
+ if (!strncmp(net_dev_nvme_ctrl, test_name, strlen(net_dev_nvme_ctrl)))
|
||||
+ return get_nvme_device(name, "nvme", 0 /* use default nsid */);
|
||||
|
||||
// device type unknown
|
||||
return 0;
|
Loading…
Reference in a new issue