pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/sysutils/smartmontools smartmontools: fix 6.6 -> 7.0 N...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/fda0c0294499
branches:  trunk
changeset: 390235:fda0c0294499
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Fri Jan 18 02:04:43 2019 +0000

description:
smartmontools: fix 6.6 -> 7.0 NVMe SMART data readout regression. Bump.

diffstat:

 sysutils/smartmontools/Makefile                   |   6 +++-
 sysutils/smartmontools/distinfo                   |   3 +-
 sysutils/smartmontools/patches/patch-nvmecmds.cpp |  34 +++++++++++++++++++++++
 3 files changed, 41 insertions(+), 2 deletions(-)

diffs (72 lines):

diff -r b2bff002c19e -r fda0c0294499 sysutils/smartmontools/Makefile
--- a/sysutils/smartmontools/Makefile   Fri Jan 18 00:28:55 2019 +0000
+++ b/sysutils/smartmontools/Makefile   Fri Jan 18 02:04:43 2019 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.33 2019/01/18 00:28:24 tnn Exp $
+# $NetBSD: Makefile,v 1.34 2019/01/18 02:04:43 tnn Exp $
 
 DISTNAME=              smartmontools-7.0
+PKGREVISION=           1
 CATEGORIES=            sysutils
 MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=smartmontools/}
 
@@ -31,4 +32,7 @@
 
 INSTALLATION_DIRS=     ${EGDIR}
 
+CFLAGS+=-O0 -ggdb -g3
+CXXFLAGS+=-O0 -ggdb -g3
+
 .include "../../mk/bsd.pkg.mk"
diff -r b2bff002c19e -r fda0c0294499 sysutils/smartmontools/distinfo
--- a/sysutils/smartmontools/distinfo   Fri Jan 18 00:28:55 2019 +0000
+++ b/sysutils/smartmontools/distinfo   Fri Jan 18 02:04:43 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.32 2019/01/18 00:28:24 tnn Exp $
+$NetBSD: distinfo,v 1.33 2019/01/18 02:04:43 tnn Exp $
 
 SHA1 (smartmontools-7.0.tar.gz) = 00e6a7bb26b283695ab0deaf521be6723ba44f0a
 RMD160 (smartmontools-7.0.tar.gz) = db20533115aa05a52836dbef0006c664083fbe90
@@ -6,3 +6,4 @@
 Size (smartmontools-7.0.tar.gz) = 944925 bytes
 SHA1 (patch-aa) = bd08aff267f0e9e9307ebc57858e61e35144bf16
 SHA1 (patch-ag) = 01b0b35d89d6d6a11b13b3c05a141c46a0c1590b
+SHA1 (patch-nvmecmds.cpp) = 0fec043f00b4a7fde2974e1a4670ce42343f2d52
diff -r b2bff002c19e -r fda0c0294499 sysutils/smartmontools/patches/patch-nvmecmds.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/smartmontools/patches/patch-nvmecmds.cpp Fri Jan 18 02:04:43 2019 +0000
@@ -0,0 +1,34 @@
+$NetBSD: patch-nvmecmds.cpp,v 1.1 2019/01/18 02:04:43 tnn Exp $
+
+It looks from the code like it is supposed to work to read the SMART data
+by calling the nvme passthrough ioctl with broadcast nsid.
+But it doesn't seem to work on NetBSD? So use the explicit nsid instead.
+
+--- nvmecmds.cpp.orig  2018-08-19 18:45:53.000000000 +0000
++++ nvmecmds.cpp
+@@ -207,7 +207,11 @@ bool nvme_read_log_page(nvme_device * de
+ // Read NVMe Error Information Log.
+ bool nvme_read_error_log(nvme_device * device, nvme_error_log_page * error_log, unsigned num_entries)
+ {
+-  if (!nvme_read_log_page(device, 0x01, error_log, num_entries * sizeof(*error_log), true))
++  bool use_broadcast_nsid = true;
++#if defined(__NetBSD__)
++  use_broadcast_nsid = false;
++#endif
++  if (!nvme_read_log_page(device, 0x01, error_log, num_entries * sizeof(*error_log), use_broadcast_nsid))
+     return false;
+ 
+   if (isbigendian()) {
+@@ -228,7 +232,11 @@ bool nvme_read_error_log(nvme_device * d
+ // Read NVMe SMART/Health Information log.
+ bool nvme_read_smart_log(nvme_device * device, nvme_smart_log & smart_log)
+ {
+-  if (!nvme_read_log_page(device, 0x02, &smart_log, sizeof(smart_log), true))
++  bool use_broadcast_nsid = true;
++#if defined(__NetBSD__)
++  use_broadcast_nsid = false;
++#endif
++  if (!nvme_read_log_page(device, 0x02, &smart_log, sizeof(smart_log), use_broadcast_nsid))
+     return false;
+ 
+   if (isbigendian()) {



Home | Main Index | Thread Index | Old Index