commit
93046f9eaf
@ -1,42 +0,0 @@
|
|||||||
From d936fd78afb9d1fa68237367f33ebaa4f0ac1de4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: samm-git <samm@os2.kiev.ua>
|
|
||||||
Date: Mon, 6 Nov 2017 22:06:52 +0000
|
|
||||||
Subject: [PATCH 004/291] os_linux.cpp/os_netbsd.cpp: fix crash on --scan if
|
|
||||||
WITH_NVME_DEVICESCAN is not set and '-d <type>' is not specified
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4599 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 5 +++++
|
|
||||||
smartmontools/os_linux.cpp | 2 +-
|
|
||||||
smartmontools/os_netbsd.cpp | 2 +-
|
|
||||||
3 files changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp
|
|
||||||
index 407f3cd2..46958ae0 100644
|
|
||||||
--- a/smartmontools/os_linux.cpp
|
|
||||||
+++ b/smartmontools/os_linux.cpp
|
|
||||||
@@ -3010,7 +3010,7 @@ bool linux_smart_interface::scan_smart_devices(smart_device_list & devlist,
|
|
||||||
#ifdef WITH_NVME_DEVICESCAN // TODO: Remove when NVMe support is no longer EXPERIMENTAL
|
|
||||||
bool scan_nvme = (!*type || !strcmp(type, "nvme"));
|
|
||||||
#else
|
|
||||||
- bool scan_nvme = ( !strcmp(type, "nvme"));
|
|
||||||
+ bool scan_nvme = (type && !strcmp(type, "nvme"));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!(scan_ata || scan_scsi || scan_nvme)) {
|
|
||||||
diff --git a/smartmontools/os_netbsd.cpp b/smartmontools/os_netbsd.cpp
|
|
||||||
index 4320cc47..4f8b2cbf 100644
|
|
||||||
--- a/smartmontools/os_netbsd.cpp
|
|
||||||
+++ b/smartmontools/os_netbsd.cpp
|
|
||||||
@@ -754,7 +754,7 @@ bool netbsd_smart_interface::scan_smart_devices(smart_device_list & devlist,
|
|
||||||
#ifdef WITH_NVME_DEVICESCAN // TODO: Remove when NVMe support is no longer EXPERIMENTAL
|
|
||||||
bool scan_nvme = !*type || !strcmp(type, "nvme");
|
|
||||||
#else
|
|
||||||
- bool scan_nvme = !strcmp(type, "nvme");
|
|
||||||
+ bool scan_nvme = type && !strcmp(type, "nvme");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Make namelists
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
From a53a5e1ca98472c32b8f7b91cd69bdd5dfc6c309 Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Wed, 8 Nov 2017 06:30:44 +0000
|
|
||||||
Subject: [PATCH 009/291] ataprint.cpp: Fix detection of Device Statistics log
|
|
||||||
with 256 sectors (#922).
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4604 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 3 +++
|
|
||||||
smartmontools/ataprint.cpp | 2 +-
|
|
||||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/ataprint.cpp b/smartmontools/ataprint.cpp
|
|
||||||
index df42351d..b2f22681 100644
|
|
||||||
--- a/smartmontools/ataprint.cpp
|
|
||||||
+++ b/smartmontools/ataprint.cpp
|
|
||||||
@@ -3687,7 +3687,7 @@ int ataPrintMain (ata_device * device, const ata_print_options & options)
|
|
||||||
bool use_gplog = true;
|
|
||||||
unsigned nsectors = 0;
|
|
||||||
if (gplogdir)
|
|
||||||
- nsectors = GetNumLogSectors(gplogdir, 0x04, false);
|
|
||||||
+ nsectors = GetNumLogSectors(gplogdir, 0x04, true);
|
|
||||||
else if (smartlogdir){ // for systems without ATA_READ_LOG_EXT
|
|
||||||
nsectors = GetNumLogSectors(smartlogdir, 0x04, false);
|
|
||||||
use_gplog = false;
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,42 +0,0 @@
|
|||||||
From 60bb2ca697b89285fcba4f011039808eb475f622 Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Mon, 13 Nov 2017 20:47:34 +0000
|
|
||||||
Subject: [PATCH 017/291] drivedb.h: - Western Digital Red: WD80EZZX - USB: WD
|
|
||||||
My Book (0x1058:0x25ee) (Redhat Bugzilla 1446533)
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4612 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 6 ++++++
|
|
||||||
smartmontools/drivedb.h | 7 ++++---
|
|
||||||
2 files changed, 10 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/drivedb.h b/smartmontools/drivedb.h
|
|
||||||
index d81c0b79..cc42f667 100644
|
|
||||||
--- a/smartmontools/drivedb.h
|
|
||||||
+++ b/smartmontools/drivedb.h
|
|
||||||
@@ -3798,7 +3798,8 @@ const drive_settings builtin_knowndrives[] = {
|
|
||||||
// WDC WD10JFCX-68N6GN0/01.01A01, WDC WD40EFRX-68WT0N0/80.00A80,
|
|
||||||
// WDC WD60EFRX-68MYMN1/82.00A82, WDC WD80EFAX-68LHPN0/83.H0A83,
|
|
||||||
// WDC WD80EFZX-68UW8N0/83.H0A83
|
|
||||||
- "WDC WD(7500BFC|10JFC|[1-6]0EFR|80EF[AZ])X-.*",
|
|
||||||
+ // WDC WD80EZZX-11CSGA0/83.H0A03 (My Book 0x1058:0x25ee)
|
|
||||||
+ "WDC WD(7500BFC|10JFC|[1-6]0EFR|80E[FZ][AZ])X-.*",
|
|
||||||
"", "",
|
|
||||||
"-v 22,raw48,Helium_Level" // WD80EFZX
|
|
||||||
},
|
|
||||||
@@ -4739,10 +4740,10 @@ const drive_settings builtin_knowndrives[] = {
|
|
||||||
"-d sat"
|
|
||||||
},
|
|
||||||
{ "USB: WD My Book / Easystore; ", // 3.5"
|
|
||||||
- "0x1058:0x(09(0[06]|10)|11(0[01245]|1[0d]|30|40)|1230|25(a3|fb))",
|
|
||||||
+ "0x1058:0x(09(0[06]|10)|11(0[01245]|1[0d]|30|40)|1230|25(a3|ee|fb))",
|
|
||||||
"", // 0x0906=0x0012, 10=0x0106
|
|
||||||
// 0x1100/01=0x0165, 02=0x1028, 10=0x1030, 1d=0x1020, 30=0x1012, 40=0x1003
|
|
||||||
- // 0x1230=0x1065, 0x25a3=0x1013, 0x25fb=0x3004
|
|
||||||
+ // 0x1230=0x1065, 0x25a3=0x1013, 0x25ee=0x4004, 0x25fb=0x3004
|
|
||||||
"",
|
|
||||||
"-d sat"
|
|
||||||
},
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,87 +0,0 @@
|
|||||||
From d80b89acbcbf619f81410db4b3f9e0a7149cae1e Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Thu, 16 Nov 2017 21:06:57 +0000
|
|
||||||
Subject: [PATCH 026/291] update-smart-drivedb.in: Include configured PATH in
|
|
||||||
help and error messages.
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4622 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 3 +++
|
|
||||||
smartmontools/update-smart-drivedb.in | 22 ++++++++++++++++++----
|
|
||||||
2 files changed, 21 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/update-smart-drivedb.in b/smartmontools/update-smart-drivedb.in
|
|
||||||
index aa23437a..44dd4718 100644
|
|
||||||
--- a/smartmontools/update-smart-drivedb.in
|
|
||||||
+++ b/smartmontools/update-smart-drivedb.in
|
|
||||||
@@ -45,10 +45,16 @@ GPG="@gnupg@"
|
|
||||||
# Smartctl used for syntax check
|
|
||||||
SMARTCTL="$sbindir/smartctl"
|
|
||||||
|
|
||||||
+# PATH information for help and error messages
|
|
||||||
+@ENABLE_SCRIPTPATH_FALSE@pathinfo='$PATH'
|
|
||||||
+@ENABLE_SCRIPTPATH_TRUE@pathinfo="'$PATH'"
|
|
||||||
+
|
|
||||||
myname=$0
|
|
||||||
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
+@ENABLE_SCRIPTPATH_TRUE@ pathinfo="
|
|
||||||
+@ENABLE_SCRIPTPATH_TRUE@ $pathinfo"
|
|
||||||
cat <<EOF
|
|
||||||
smartmontools $VERSION drive database update script
|
|
||||||
|
|
||||||
@@ -57,7 +63,7 @@ Usage: $myname [OPTIONS] [DESTFILE]
|
|
||||||
-s SMARTCTL Use SMARTCTL for syntax check ('-s -' to disable)
|
|
||||||
[default: $SMARTCTL]
|
|
||||||
-t TOOL Use TOOL for download: $os_dltools
|
|
||||||
- [default: first one found in PATH]
|
|
||||||
+ [default: first one found in $pathinfo]
|
|
||||||
-u LOCATION Use URL of LOCATION for download:
|
|
||||||
sf (Sourceforge code browser via HTTPS)
|
|
||||||
svn (SVN repository via HTTPS) [default]
|
|
||||||
@@ -85,6 +91,14 @@ error()
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
+err_notfound()
|
|
||||||
+{
|
|
||||||
+ case $1 in
|
|
||||||
+ */*) error "$1: not found $2" ;;
|
|
||||||
+ *) error "$1: not found in $pathinfo $2" ;;
|
|
||||||
+ esac
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
warning()
|
|
||||||
{
|
|
||||||
echo "$myname: (Warning) $*" >&2
|
|
||||||
@@ -410,7 +424,7 @@ if [ -z "$tool" ]; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
- test -n "$tool" || error "found none of: $os_dltools"
|
|
||||||
+ test -n "$tool" || error "found none of '$os_dltools' in $pathinfo"
|
|
||||||
fi
|
|
||||||
|
|
||||||
test -n "$url" || selecturl "svn"
|
|
||||||
@@ -435,7 +449,7 @@ esac
|
|
||||||
# Check for smartctl
|
|
||||||
if [ "$smtctl" != "-" ]; then
|
|
||||||
"$smtctl" -V >/dev/null 2>&1 \
|
|
||||||
- || error "$smtctl: not found ('-s -' to ignore)"
|
|
||||||
+ || err_notfound "$smtctl" "('-s -' to ignore)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check for GnuPG
|
|
||||||
@@ -443,7 +457,7 @@ if [ -z "$no_verify" ]; then
|
|
||||||
test -n "$GPG" \
|
|
||||||
|| error "GnuPG is not available ('--no-verify' to ignore)"
|
|
||||||
"$GPG" --version >/dev/null 2>&1 \
|
|
||||||
- || error "$GPG: not found ('--no-verify' to ignore)"
|
|
||||||
+ || err_notfound "$GPG" "('--no-verify' to ignore)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Use destination directory as temp directory for gpg
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,42 +0,0 @@
|
|||||||
From 8878751819531b402859ec07d23da745a873092a Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Thu, 16 Nov 2017 21:38:28 +0000
|
|
||||||
Subject: [PATCH 028/291] os_linux.cpp: Add missing braces to 3ware SELinux
|
|
||||||
code. This possibly harmless bug was introduced ~10 years ago in r2510. It is
|
|
||||||
now detected by g++ 6.3 -Wmisleading-indentation warning.
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4624 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 4 ++++
|
|
||||||
smartmontools/os_linux.cpp | 5 +++--
|
|
||||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp
|
|
||||||
index a1fb6a7f..51f78b92 100644
|
|
||||||
--- a/smartmontools/os_linux.cpp
|
|
||||||
+++ b/smartmontools/os_linux.cpp
|
|
||||||
@@ -5,7 +5,7 @@
|
|
||||||
*
|
|
||||||
* Copyright (C) 2003-11 Bruce Allen
|
|
||||||
* Copyright (C) 2003-11 Doug Gilbert <dgilbert@interlog.com>
|
|
||||||
- * Copyright (C) 2008-16 Christian Franke
|
|
||||||
+ * Copyright (C) 2008-17 Christian Franke
|
|
||||||
*
|
|
||||||
* Original AACRaid code:
|
|
||||||
* Copyright (C) 2014 Raghava Aditya <raghava.aditya@pmcs.com>
|
|
||||||
@@ -1626,10 +1626,11 @@ static int setup_3ware_nodes(const char *nodename, const char *driver_name)
|
|
||||||
pout("Error initializing contexts database for /dev");
|
|
||||||
if (getfscreatecon(&orig_context) < 0) {
|
|
||||||
pout("Error retrieving original SELinux fscreate context");
|
|
||||||
- if (selinux_enforced)
|
|
||||||
+ if (selinux_enforced) {
|
|
||||||
matchpathcon_fini();
|
|
||||||
return 6;
|
|
||||||
}
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
/* Now check if nodes are correct */
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
From 033ec9c2170bb6bb26f7fe67cf05719989e257fe Mon Sep 17 00:00:00 2001
|
|
||||||
From: samm-git <samm@os2.kiev.ua>
|
|
||||||
Date: Sat, 18 Nov 2017 13:46:44 +0000
|
|
||||||
Subject: [PATCH 031/291] drivedb.h: fix Innolite Satadom D150QV entry (#939)
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4627 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 4 +++-
|
|
||||||
smartmontools/drivedb.h | 13 +++++++------
|
|
||||||
2 files changed, 10 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/smartmontools/drivedb.h b/smartmontools/drivedb.h
|
|
||||||
index 1ee92009..d78afab4 100644
|
|
||||||
--- a/smartmontools/drivedb.h
|
|
||||||
+++ b/smartmontools/drivedb.h
|
|
||||||
@@ -748,8 +748,9 @@ const drive_settings builtin_knowndrives[] = {
|
|
||||||
//"-v 194,tempminmax,Temperature_Celsius "
|
|
||||||
"-v 241,raw48,Host_Writes"
|
|
||||||
},
|
|
||||||
- { "InnoDisk InnoLite SATADOM D150QV-L SSDs", // tested with InnoLite SATADOM D150QV-L/120319
|
|
||||||
- "InnoLite SATADOM D150QV-L",
|
|
||||||
+ { "InnoDisk InnoLite SATADOM D150QV SSDs", // tested with InnoLite SATADOM D150QV-L/120319
|
|
||||||
+ // InnoLite SATADOM D150QV/120319
|
|
||||||
+ "InnoLite SATADOM D150QV.*",
|
|
||||||
"", "",
|
|
||||||
//"-v 1,raw48,Raw_Read_Error_Rate "
|
|
||||||
//"-v 2,raw48,Throughput_Performance "
|
|
||||||
@@ -757,18 +758,18 @@ const drive_settings builtin_knowndrives[] = {
|
|
||||||
//"-v 5,raw16(raw16),Reallocated_Sector_Ct "
|
|
||||||
//"-v 7,raw48,Seek_Error_Rate " // from InnoDisk iSMART Linux tool, useless for SSD
|
|
||||||
//"-v 8,raw48,Seek_Time_Performance "
|
|
||||||
- //"-v 9,raw24(raw8),Power_On_Hours "
|
|
||||||
+ //"-v 9,raw48,Power_On_Hours "
|
|
||||||
//"-v 10,raw48,Spin_Retry_Count "
|
|
||||||
//"-v 12,raw48,Power_Cycle_Count "
|
|
||||||
"-v 168,raw48,SATA_PHY_Error_Count "
|
|
||||||
- "-v 170,raw48,Bad_Block_Count "
|
|
||||||
- "-v 173,raw48,Erase_Count "
|
|
||||||
+ "-v 170,raw16,Bad_Block_Count_New/Tot "
|
|
||||||
+ "-v 173,raw16,Erase_Count_Max/Avg "
|
|
||||||
"-v 175,raw48,Bad_Cluster_Table_Count "
|
|
||||||
"-v 192,raw48,Unexpect_Power_Loss_Ct "
|
|
||||||
//"-v 194,tempminmax,Temperature_Celsius "
|
|
||||||
//"-v 197,raw48,Current_Pending_Sector "
|
|
||||||
"-v 229,hex48,Flash_ID "
|
|
||||||
- "-v 235,raw48,Later_Bad_Block "
|
|
||||||
+ "-v 235,raw16,Lat_Bad_Blk_Era/Wri/Rea "
|
|
||||||
"-v 236,raw48,Unstable_Power_Count "
|
|
||||||
"-v 240,raw48,Write_Head"
|
|
||||||
},
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,46 +0,0 @@
|
|||||||
From 23435e436dca1d54d847df704cd947ef56736e65 Mon Sep 17 00:00:00 2001
|
|
||||||
From: dpgilbert <authors@smartmontools.org>
|
|
||||||
Date: Wed, 27 Dec 2017 05:50:47 +0000
|
|
||||||
Subject: [PATCH 073/291] os_freebsd.cpp: on error was setting set_nvme_err()
|
|
||||||
to 1, fix
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4670 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 5 +++++
|
|
||||||
smartmontools/os_freebsd.cpp | 11 ++++++++---
|
|
||||||
2 files changed, 13 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/smartmontools/os_freebsd.cpp b/smartmontools/os_freebsd.cpp
|
|
||||||
index 92e225f8..c0bb3b85 100644
|
|
||||||
--- a/smartmontools/os_freebsd.cpp
|
|
||||||
+++ b/smartmontools/os_freebsd.cpp
|
|
||||||
@@ -519,6 +519,7 @@ bool freebsd_nvme_device::nvme_pass_through(const nvme_cmd_in & in, nvme_cmd_out
|
|
||||||
{
|
|
||||||
// nvme_passthru_cmd pt;
|
|
||||||
struct nvme_pt_command pt;
|
|
||||||
+ struct nvme_completion *cp_p;
|
|
||||||
memset(&pt, 0, sizeof(pt));
|
|
||||||
|
|
||||||
pt.cmd.opc = in.opcode;
|
|
||||||
@@ -538,10 +539,14 @@ bool freebsd_nvme_device::nvme_pass_through(const nvme_cmd_in & in, nvme_cmd_out
|
|
||||||
if (status < 0)
|
|
||||||
return set_err(errno, "NVME_PASSTHROUGH_CMD: %s", strerror(errno));
|
|
||||||
|
|
||||||
- out.result=pt.cpl.cdw0; // Command specific result (DW0)
|
|
||||||
+ cp_p = &pt.cpl;
|
|
||||||
+ out.result=cp_p->cdw0; // Command specific result (DW0)
|
|
||||||
|
|
||||||
- if (nvme_completion_is_error(&pt.cpl))
|
|
||||||
- return set_nvme_err(out, nvme_completion_is_error(&pt.cpl));
|
|
||||||
+ if (nvme_completion_is_error(cp_p)) { /* ignore DNR and More bits */
|
|
||||||
+ uint16_t nvme_status = ((cp_p->status.sct << 8) | cp_p->status.sc) & 0x3ff;
|
|
||||||
+
|
|
||||||
+ return set_nvme_err(out, nvme_status);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
From 3ddb98cebda43e56ba023c5e12306a000a60a707 Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Wed, 28 Mar 2018 19:37:45 +0000
|
|
||||||
Subject: [PATCH 124/291] os_linux.cpp: Fix device scan crash on missing
|
|
||||||
/proc/devices.
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4723 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 2 ++
|
|
||||||
smartmontools/os_linux.cpp | 4 +++-
|
|
||||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp
|
|
||||||
index 6df97e94..29203409 100644
|
|
||||||
--- a/smartmontools/os_linux.cpp
|
|
||||||
+++ b/smartmontools/os_linux.cpp
|
|
||||||
@@ -5,7 +5,7 @@
|
|
||||||
*
|
|
||||||
* Copyright (C) 2003-11 Bruce Allen
|
|
||||||
* Copyright (C) 2003-11 Doug Gilbert <dgilbert@interlog.com>
|
|
||||||
- * Copyright (C) 2008-17 Christian Franke
|
|
||||||
+ * Copyright (C) 2008-18 Christian Franke
|
|
||||||
*
|
|
||||||
* Original AACRaid code:
|
|
||||||
* Copyright (C) 2014 Raghava Aditya <raghava.aditya@pmcs.com>
|
|
||||||
@@ -2961,6 +2961,8 @@ bool linux_smart_interface::get_dev_megasas(smart_device_list & devlist)
|
|
||||||
char line[128];
|
|
||||||
bool scan_megasas = false;
|
|
||||||
FILE * fp = fopen("/proc/devices", "r");
|
|
||||||
+ if (!fp)
|
|
||||||
+ return false;
|
|
||||||
while (fgets(line, sizeof(line), fp) != NULL) {
|
|
||||||
n1=0;
|
|
||||||
if (sscanf(line, "%d megaraid_sas_ioctl%n", &mjr, &n1) == 1 && n1 == 22) {
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
From 3e342f88588499b26dbef61a2fe78e9a4838567a Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Wed, 26 Sep 2018 19:44:15 +0000
|
|
||||||
Subject: [PATCH 186/291] smartd.cpp: Always ignore failure of ATA SMART ENABLE
|
|
||||||
command if '-T permissive' is specified. Useful for testing on virtual
|
|
||||||
machines.
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4790 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 6 ++++++
|
|
||||||
smartmontools/smartd.cpp | 12 +++++++++---
|
|
||||||
2 files changed, 15 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/smartd.cpp b/smartmontools/smartd.cpp
|
|
||||||
index 0692ca4d..fc54b233 100644
|
|
||||||
--- a/smartmontools/smartd.cpp
|
|
||||||
+++ b/smartmontools/smartd.cpp
|
|
||||||
@@ -2037,10 +2037,16 @@ static int ATADeviceScan(dev_config & cfg, dev_state & state, ata_device * atade
|
|
||||||
PrintOut(LOG_INFO,"Device: %s, could not enable SMART capability\n",name);
|
|
||||||
|
|
||||||
if (ataIsSmartEnabled(&drive) <= 0) {
|
|
||||||
- CloseDevice(atadev, name);
|
|
||||||
- return 2;
|
|
||||||
+ if (!cfg.permissive) {
|
|
||||||
+ PrintOut(LOG_INFO, "Device: %s, to proceed anyway, use '-T permissive' Directive.\n", name);
|
|
||||||
+ CloseDevice(atadev, name);
|
|
||||||
+ return 2;
|
|
||||||
+ }
|
|
||||||
+ PrintOut(LOG_INFO, "Device: %s, proceeding since '-T permissive' Directive given.\n", name);
|
|
||||||
+ }
|
|
||||||
+ else {
|
|
||||||
+ PrintOut(LOG_INFO, "Device: %s, proceeding since SMART is already enabled\n", name);
|
|
||||||
}
|
|
||||||
- PrintOut(LOG_INFO, "Device: %s, proceeding since SMART is already enabled\n", name);
|
|
||||||
}
|
|
||||||
|
|
||||||
// disable device attribute autosave...
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,62 +0,0 @@
|
|||||||
From f201d3a068d2bbdc36b89d248b521ba2da3ad741 Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Thu, 11 Oct 2018 18:51:35 +0000
|
|
||||||
Subject: [PATCH 204/291] os_linux.cpp: Fix '-d megaraid' open crash on missing
|
|
||||||
/proc/devices. There is no /proc/devices on ESXi (see #800) and WSL.
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4809 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 5 +++++
|
|
||||||
smartmontools/os_linux.cpp | 34 ++++++++++++++++++----------------
|
|
||||||
2 files changed, 23 insertions(+), 16 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp
|
|
||||||
index 1a1b0858..9790818a 100644
|
|
||||||
--- a/smartmontools/os_linux.cpp
|
|
||||||
+++ b/smartmontools/os_linux.cpp
|
|
||||||
@@ -1299,24 +1299,26 @@ bool linux_megaraid_device::open()
|
|
||||||
}
|
|
||||||
/* Perform mknod of device ioctl node */
|
|
||||||
FILE * fp = fopen("/proc/devices", "r");
|
|
||||||
- while (fgets(line, sizeof(line), fp) != NULL) {
|
|
||||||
- int n1 = 0;
|
|
||||||
- if (sscanf(line, "%d megaraid_sas_ioctl%n", &mjr, &n1) == 1 && n1 == 22) {
|
|
||||||
- n1=mknod("/dev/megaraid_sas_ioctl_node", S_IFCHR, makedev(mjr, 0));
|
|
||||||
- if(report > 0)
|
|
||||||
- pout("Creating /dev/megaraid_sas_ioctl_node = %d\n", n1 >= 0 ? 0 : errno);
|
|
||||||
- if (n1 >= 0 || errno == EEXIST)
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- else if (sscanf(line, "%d megadev%n", &mjr, &n1) == 1 && n1 == 11) {
|
|
||||||
- n1=mknod("/dev/megadev0", S_IFCHR, makedev(mjr, 0));
|
|
||||||
- if(report > 0)
|
|
||||||
- pout("Creating /dev/megadev0 = %d\n", n1 >= 0 ? 0 : errno);
|
|
||||||
- if (n1 >= 0 || errno == EEXIST)
|
|
||||||
- break;
|
|
||||||
+ if (fp) {
|
|
||||||
+ while (fgets(line, sizeof(line), fp) != NULL) {
|
|
||||||
+ int n1 = 0;
|
|
||||||
+ if (sscanf(line, "%d megaraid_sas_ioctl%n", &mjr, &n1) == 1 && n1 == 22) {
|
|
||||||
+ n1=mknod("/dev/megaraid_sas_ioctl_node", S_IFCHR, makedev(mjr, 0));
|
|
||||||
+ if(report > 0)
|
|
||||||
+ pout("Creating /dev/megaraid_sas_ioctl_node = %d\n", n1 >= 0 ? 0 : errno);
|
|
||||||
+ if (n1 >= 0 || errno == EEXIST)
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ else if (sscanf(line, "%d megadev%n", &mjr, &n1) == 1 && n1 == 11) {
|
|
||||||
+ n1=mknod("/dev/megadev0", S_IFCHR, makedev(mjr, 0));
|
|
||||||
+ if(report > 0)
|
|
||||||
+ pout("Creating /dev/megadev0 = %d\n", n1 >= 0 ? 0 : errno);
|
|
||||||
+ if (n1 >= 0 || errno == EEXIST)
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
+ fclose(fp);
|
|
||||||
}
|
|
||||||
- fclose(fp);
|
|
||||||
|
|
||||||
/* Open Device IOCTL node */
|
|
||||||
if ((m_fd = ::open("/dev/megaraid_sas_ioctl_node", O_RDWR)) >= 0) {
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,51 +0,0 @@
|
|||||||
From 2520e4983eb084cf0b48dded77d358d9f085b9d2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: samm-git <samm@os2.kiev.ua>
|
|
||||||
Date: Fri, 9 Nov 2018 07:18:23 +0000
|
|
||||||
Subject: [PATCH 225/291] os_darwin.cpp, os_freebsd.cpp: fix return value in
|
|
||||||
error paths
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4831 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 5 +++++
|
|
||||||
smartmontools/os_darwin.cpp | 4 ++--
|
|
||||||
smartmontools/os_freebsd.cpp | 2 +-
|
|
||||||
3 files changed, 8 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/os_darwin.cpp b/smartmontools/os_darwin.cpp
|
|
||||||
index 1620981b..25888047 100644
|
|
||||||
--- a/smartmontools/os_darwin.cpp
|
|
||||||
+++ b/smartmontools/os_darwin.cpp
|
|
||||||
@@ -403,7 +403,7 @@ bool darwin_ata_device::ata_pass_through(const ata_cmd_in & in, ata_cmd_out & ou
|
|
||||||
int rc = 0;
|
|
||||||
|
|
||||||
if (! ifp)
|
|
||||||
- return -1;
|
|
||||||
+ return false;
|
|
||||||
smartIf = *ifp;
|
|
||||||
clear_err(); errno = 0;
|
|
||||||
do {
|
|
||||||
@@ -558,7 +558,7 @@ bool darwin_nvme_device::nvme_pass_through(const nvme_cmd_in & in, nvme_cmd_out
|
|
||||||
unsigned int page = in.cdw10 & 0xff;
|
|
||||||
|
|
||||||
if (! ifp)
|
|
||||||
- return -1;
|
|
||||||
+ return false;
|
|
||||||
smartIfNVMe = *ifp;
|
|
||||||
// currently only GetIdentifyData and SMARTReadData are supported
|
|
||||||
switch (in.opcode) {
|
|
||||||
diff --git a/smartmontools/os_freebsd.cpp b/smartmontools/os_freebsd.cpp
|
|
||||||
index 49f82c58..ffe3b151 100644
|
|
||||||
--- a/smartmontools/os_freebsd.cpp
|
|
||||||
+++ b/smartmontools/os_freebsd.cpp
|
|
||||||
@@ -613,7 +613,7 @@ bool freebsd_escalade_device::ata_pass_through(const ata_cmd_in & in, ata_cmd_ou
|
|
||||||
|
|
||||||
if (m_disknum < 0) {
|
|
||||||
printwarning(NO_DISK_3WARE,NULL);
|
|
||||||
- return -1;
|
|
||||||
+ return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
memset(ioctl_buffer, 0, TW_IOCTL_BUFFER_SIZE);
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
From 613b1f96b0535563d98376e46ea3ed5ad0252ea7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: chrfranke <authors@smartmontools.org>
|
|
||||||
Date: Sun, 2 Dec 2018 15:46:22 +0000
|
|
||||||
Subject: [PATCH 234/291] ataprint.cpp: Fix Form Factor string with bits set in
|
|
||||||
reserved area - Happens with APPLE SSD SD0256F
|
|
||||||
|
|
||||||
Patch provided by Harry Mallon.
|
|
||||||
|
|
||||||
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4841 4ea69e1a-61f1-4043-bf83-b5c94c648137
|
|
||||||
---
|
|
||||||
smartmontools/ChangeLog | 5 +++++
|
|
||||||
smartmontools/ataprint.cpp | 3 ++-
|
|
||||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/smartmontools/ataprint.cpp b/smartmontools/ataprint.cpp
|
|
||||||
index 5fccf4ba..495d5401 100644
|
|
||||||
--- a/smartmontools/ataprint.cpp
|
|
||||||
+++ b/smartmontools/ataprint.cpp
|
|
||||||
@@ -404,9 +404,10 @@ static inline std::string format_st_er_desc(
|
|
||||||
|
|
||||||
static const char * get_form_factor(unsigned short word168)
|
|
||||||
{
|
|
||||||
+ // Bits 0:3 are the form factor
|
|
||||||
// Table A.32 of T13/2161-D (ACS-3) Revision 4p, September 19, 2013
|
|
||||||
// Table 236 of T13/BSR INCITS 529 (ACS-4) Revision 04, August 25, 2014
|
|
||||||
- switch (word168) {
|
|
||||||
+ switch (word168 & 0xF) {
|
|
||||||
case 0x1: return "5.25 inches";
|
|
||||||
case 0x2: return "3.5 inches";
|
|
||||||
case 0x3: return "2.5 inches";
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
Binary file not shown.
BIN
smartmontools-7.1.tar.gz
Normal file
BIN
smartmontools-7.1.tar.gz
Normal file
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
Name: smartmontools
|
Name: smartmontools
|
||||||
Version: 6.6
|
Version: 7.1
|
||||||
Release: 9
|
Release: 1
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Summary: S.M.A.R.T. utility toolset
|
Summary: S.M.A.R.T. utility toolset
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -9,21 +9,8 @@ URL: http://smartmontools.sourceforge.net/
|
|||||||
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
||||||
Source1: smartmontools.sysconf
|
Source1: smartmontools.sysconf
|
||||||
|
|
||||||
Patch0: 0000-os_linux.cpp-os_netbsd.cpp-fix-crash-on-scan-if-WITH.patch
|
|
||||||
Patch1: 0001-ataprint.cpp-Fix-detection-of-Device-Statistics-log-.patch
|
|
||||||
Patch2: 0002-drivedb.h.patch
|
|
||||||
Patch3: 0003-update-smart-drivedb.in-Include-configured-PATH-in-h.patch
|
|
||||||
Patch4: 0004-os_linux.cpp-Add-missing-braces-to-3ware-SELinux-cod.patch
|
|
||||||
Patch5: 0005-drivedb.h-fix-Innolite-Satadom-D150QV-entry-939.patch
|
|
||||||
Patch6: 0006-os_freebsd.cpp-on-error-was-setting-set_nvme_err-to-.patch
|
|
||||||
Patch7: 0007-os_linux.cpp-Fix-device-scan-crash-on-missing-proc-d.patch
|
|
||||||
Patch8: 0008-smartd.cpp-Always-ignore-failure-of-ATA-SMART-ENABLE.patch
|
|
||||||
Patch9: 0009-os_linux.cpp-Fix-d-megaraid-open-crash-on-missing-pr.patch
|
|
||||||
Patch10: 0010-os_darwin.cpp-os_freebsd.cpp-fix-return-value-in-err.patch
|
|
||||||
Patch11: 0011-ataprint.cpp-Fix-Form-Factor-string-with-bits-set-in.patch
|
|
||||||
|
|
||||||
BuildRequires: groff gcc-c++ automake
|
BuildRequires: groff gcc-c++ automake
|
||||||
BuildRequires: libselinux-devel libcap-ng-devel systemd-units
|
BuildRequires: libselinux-devel libcap-ng-devel systemd systemd-units systemd-devel
|
||||||
|
|
||||||
Requires(preun): systemd-units
|
Requires(preun): systemd-units
|
||||||
Requires(post): systemd-units
|
Requires(post): systemd-units
|
||||||
@ -54,7 +41,7 @@ This contains man files for the using of smartmontools.
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -i
|
autoreconf -i
|
||||||
%configure --with-selinux --with-libcap-ng=yes --with-systemdsystemunitdir=%{_unitdir} --sysconfdir=%{_sysconfdir}/%{name}/
|
%configure --with-selinux --with-libcap-ng=yes --with-libsystemd --with-systemdsystemunitdir=%{_unitdir} --sysconfdir=%{_sysconfdir}/%{name}/ --with-systemdenvfile=%{_sysconfdir}/sysconfig/%{name}
|
||||||
make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS -fpie" LDFLAGS="-pie -Wl,-z,relro,-z,now"
|
make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS -fpie" LDFLAGS="-pie -Wl,-z,relro,-z,now"
|
||||||
|
|
||||||
sed -i 's|/etc/smartmontools/sysconfig|/etc/sysconfig|g' smartd.service
|
sed -i 's|/etc/smartmontools/sysconfig|/etc/sysconfig|g' smartd.service
|
||||||
@ -93,6 +80,9 @@ mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 16 2020 yanglongkang <yanglongkang@huawei.com> - 7.1-1
|
||||||
|
- update package to 7.1
|
||||||
|
|
||||||
* Tue Jun 30 2020 Zhiqiang Liu <liuzhiqiang26@huawei.com> - 1:6.6-9
|
* Tue Jun 30 2020 Zhiqiang Liu <liuzhiqiang26@huawei.com> - 1:6.6-9
|
||||||
- renumber patches.
|
- renumber patches.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user