On 2025/05/15 10:05, Martin Ziemer wrote: > Am Tue, May 06, 2025 at 10:52:51AM +0200 schrieb Martin Ziemer: > > This patch updates smartmontools from 7.4 to 7.5. > > > > All Patches are removed, as the changes went upstream. (NVME support > > in OpenBSD) > > > > Configure Style was changed to autoreconf.
Is that because upstream didn't include a generated configure script in your download? The distfile has been regenerated and the one available now does include generated files. Can you compare with your old one and check there aren't any unwanted changes that made it in please? > > I do not know, how to check, if it would work without C++11! I just > > left the comment in the Makefile. > > > > Tested on amd64 with SATA and NVME drives. > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/smartmontools/Makefile,v > diff -u -p -u -p -r1.52 Makefile > --- Makefile 18 Oct 2024 11:44:38 -0000 1.52 > +++ Makefile 30 Apr 2025 13:51:11 -0000 > @@ -1,8 +1,7 @@ > COMMENT= control and monitor storage systems using SMART > > # XXX at update time check whether C++11 is actually needed > -DISTNAME= smartmontools-7.4 > -REVISION= 1 > +DISTNAME= smartmontools-7.5 > CATEGORIES= sysutils > > HOMEPAGE= https://www.smartmontools.org/ > @@ -19,7 +18,10 @@ SITES= ${SITE_SOURCEFORGE:=smartmontoo > > SEPARATE_BUILD= Yes > USE_GMAKE= Yes > -CONFIGURE_STYLE= gnu > +CONFIGURE_STYLE= autoreconf > +AUTOCONF_VERSION= 2.72 > +AUTOMAKE_VERSION= 1.16 > +AUTORECONF= ./autogen.sh > CONFIGURE_ARGS= --docdir=${PREFIX}/share/doc/smartmontools \ > > --with-exampledir=${PREFIX}/share/examples/smartmontools \ > --with-libcap-ng=no \ > Index: distinfo > =================================================================== > RCS file: /cvs/ports/sysutils/smartmontools/distinfo,v > diff -u -p -u -p -r1.22 distinfo > --- distinfo 9 Aug 2023 16:57:45 -0000 1.22 > +++ distinfo 30 Apr 2025 13:51:11 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (smartmontools-7.4.tar.gz) = > 6aYfZB/5bKlTGe37F5SM0pfQzTNCc2ssScmdRxb7mT0= > -SIZE (smartmontools-7.4.tar.gz) = 1094955 > +SHA256 (smartmontools-7.5.tar.gz) = > hGPiRnLXKY0RmzxxpI+f4VYx8Ue+NaT0sCrCokwZ5L0= > +SIZE (smartmontools-7.5.tar.gz) = 1000223 > Index: patches/patch-openbsd_nvme_ioctl_h > =================================================================== > RCS file: patches/patch-openbsd_nvme_ioctl_h > diff -N patches/patch-openbsd_nvme_ioctl_h > --- patches/patch-openbsd_nvme_ioctl_h 27 May 2024 14:30:36 -0000 > 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,78 +0,0 @@ > -Index: openbsd_nvme_ioctl.h > ---- openbsd_nvme_ioctl.h.orig > -+++ openbsd_nvme_ioctl.h > -@@ -0,0 +1,74 @@ > -+/* > -+ * Copyright (c) 2024 Kenneth R Westerback <k...@openbsd.org> > -+ * > -+ * Permission to use, copy, modify, and distribute this software for any > -+ * purpose with or without fee is hereby granted, provided that the above > -+ * copyright notice and this permission notice appear in all copies. > -+ * > -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES > -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF > -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR > -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN > -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF > -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. > -+ */ > -+ > -+#define NVME_PASSTHROUGH_CMD _IOWR('n', 0, struct > nvme_pt_cmd) > -+ > -+struct nvme_pt_status { > -+ int ps_dv_unit; > -+ int ps_nsid; > -+ int ps_flags; > -+#define NVME_CQE_SCT(_f) ((_f) & (0x07 << 9)) > -+#define NVME_CQE_SCT_GENERIC (0x00 << 9) > -+#define NVME_CQE_SC(_f) ((_f) & (0xff << 1)) > -+#define NVME_CQE_SC_SUCCESS (0x00 << 1) > -+ uint32_t ps_csts; > -+ uint32_t ps_cc; > -+}; > -+ > -+#define BIO_MSG_COUNT 5 > -+#define BIO_MSG_LEN 128 > -+ > -+struct bio_msg { > -+ int bm_type; > -+ char bm_msg[BIO_MSG_LEN]; > -+}; > -+ > -+struct bio_status { > -+ char bs_controller[16]; > -+ int bs_status; > -+ int bs_msg_count; > -+ struct bio_msg bs_msgs[BIO_MSG_COUNT]; > -+}; > -+ > -+struct bio { > -+ void *bio_cookie; > -+ struct bio_status bio_status; > -+}; > -+ > -+struct nvme_pt_cmd { > -+ /* Commands may arrive via /dev/bio. */ > -+ struct bio pt_bio; > -+ > -+ /* The sqe fields that the caller may specify. */ > -+ uint8_t pt_opcode; > -+ uint32_t pt_nsid; > -+ uint32_t pt_cdw10; > -+ uint32_t pt_cdw11; > -+ uint32_t pt_cdw12; > -+ uint32_t pt_cdw13; > -+ uint32_t pt_cdw14; > -+ uint32_t pt_cdw15; > -+ > -+ caddr_t pt_status; > -+ uint32_t pt_statuslen; > -+ > -+ caddr_t pt_databuf; /* User space address. */ > -+ uint32_t pt_databuflen; /* Length of buffer. */ > -+}; > -+ > -+#define nvme_completion_is_error(_flags) > \ > -+ ((NVME_CQE_SC(_flags) != NVME_CQE_SC_SUCCESS) \ > -+ || (NVME_CQE_SCT(_flags) != NVME_CQE_SCT_GENERIC)) > Index: patches/patch-os_openbsd_cpp > =================================================================== > RCS file: patches/patch-os_openbsd_cpp > diff -N patches/patch-os_openbsd_cpp > --- patches/patch-os_openbsd_cpp 27 May 2024 17:07:49 -0000 1.8 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,198 +0,0 @@ > -Index: os_openbsd.cpp > ---- os_openbsd.cpp.orig > -+++ os_openbsd.cpp > -@@ -14,6 +14,7 @@ > - > - #include "atacmds.h" > - #include "scsicmds.h" > -+#include "nvmecmds.h" > - #include "utility.h" > - #include "os_openbsd.h" > - > -@@ -27,11 +28,31 @@ const char * os_openbsd_cpp_cvsid = "$Id: os_openbsd.c > - > - #define ARGUSED(x) ((void)(x)) > - > -+// based on OpenBSD "/usr/include/dev/ic/nvmeio.h" && > "/usr/include/dev/biovar.h" > -+#include "openbsd_nvme_ioctl.h" // NVME_PASSTHROUGH_CMD, > nvme_completion_is_error > -+ > - > ///////////////////////////////////////////////////////////////////////////// > - > - namespace os_openbsd { // No need to publish anything, name provided for > Doxygen > - > - static const char *net_dev_prefix = "/dev/"; > -+ > -+bool sd_is_nvme(const char *dev) > -+{ > -+ struct nvme_pt_cmd pt; > -+ memset(&pt, 0, sizeof(pt)); > -+ pt.pt_opcode = smartmontools::nvme_admin_identify; > -+ > -+ int fd = ::open(dev, O_RDWR); > -+ if (fd == -1) > -+ return false; > -+ > -+ int status = ioctl(fd, NVME_PASSTHROUGH_CMD, &pt); > -+ close(fd); > -+ > -+ return status != -1 || errno != ENOTTY; > -+} > -+ > - static const char *net_dev_ata_disk = "wd"; > - static const char *net_dev_scsi_disk = "sd"; > - static const char *net_dev_scsi_tape = "st"; > -@@ -209,6 +230,80 @@ bool openbsd_ata_device::ata_pass_through(const ata_cm > - } > - > - > ///////////////////////////////////////////////////////////////////////////// > -+/// NVMe support > -+ > -+class openbsd_nvme_device > -+: public /*implements*/ nvme_device, > -+ public /*extends*/ openbsd_smart_device > -+{ > -+public: > -+ openbsd_nvme_device(smart_interface * intf, const char * dev_name, > -+ const char * req_type, unsigned nsid); > -+ > -+ virtual bool open() override; > -+ > -+ virtual bool nvme_pass_through(const nvme_cmd_in & in, nvme_cmd_out & > out) override; > -+}; > -+ > -+openbsd_nvme_device::openbsd_nvme_device(smart_interface * intf, const char > * dev_name, > -+ const char * req_type, unsigned nsid) > -+: smart_device(intf, dev_name, "nvme", req_type), > -+ nvme_device(nsid), > -+ openbsd_smart_device() > -+{ > -+} > -+ > -+bool openbsd_nvme_device::open() > -+{ > -+ const char *dev = get_dev_name(); > -+ int fd; > -+ > -+ if ((fd = ::open(dev, O_RDWR)) == -1) { > -+ set_err(errno, "can't open sd device"); > -+ return false; > -+ } > -+ > -+ set_fd(fd); > -+ > -+ return true; > -+} > -+ > -+bool openbsd_nvme_device::nvme_pass_through(const nvme_cmd_in & in, > nvme_cmd_out & out) > -+{ > -+ struct nvme_pt_cmd pt; > -+ struct nvme_pt_status ps; > -+ > -+ memset(&ps, 0, sizeof(ps)); > -+ memset(&pt.pt_bio, 0, sizeof(pt.pt_bio)); > -+ > -+ pt.pt_opcode = in.opcode; > -+ pt.pt_nsid = in.nsid; > -+ pt.pt_databuf = (caddr_t)in.buffer; > -+ pt.pt_databuflen = in.size; > -+ pt.pt_cdw10 = in.cdw10; > -+ pt.pt_cdw11 = in.cdw11; > -+ pt.pt_cdw12 = in.cdw12; > -+ pt.pt_cdw13 = in.cdw13; > -+ pt.pt_cdw14 = in.cdw14; > -+ pt.pt_cdw15 = in.cdw15; > -+ pt.pt_status = (char *)&ps; > -+ pt.pt_statuslen = sizeof(ps); > -+ > -+ int status = ioctl(get_fd(), NVME_PASSTHROUGH_CMD, &pt); > -+ > -+ if (status == -1) > -+ return set_err(errno, "NVME_PASSTHROUGH_CMD: %s", strerror(errno)); > -+ > -+ out.result = 0; // cqe.cdw0 (Command specific result) is not provided > -+ > -+ if (nvme_completion_is_error(ps.ps_flags)) > -+ return set_nvme_err(out, nvme_completion_is_error(ps.ps_flags)); > -+ > -+ return true; > -+} > -+ > -+ > -+///////////////////////////////////////////////////////////////////////////// > - /// Standard SCSI support > - > - class openbsd_scsi_device > -@@ -381,6 +476,9 @@ class openbsd_smart_interface (protected) > - > - virtual scsi_device * get_scsi_device(const char * name, const char * > type) override; > - > -+ virtual nvme_device * get_nvme_device(const char * name, const char * > type, > -+ unsigned nsid) override; > -+ > - virtual smart_device * autodetect_smart_device(const char * name) > override; > - > - virtual smart_device * get_custom_smart_device(const char * name, const > char * type) override; > -@@ -434,6 +532,11 @@ scsi_device * openbsd_smart_interface::get_scsi_device > - return new openbsd_scsi_device(this, name, type); > - } > - > -+nvme_device * openbsd_smart_interface::get_nvme_device(const char * name, > const char * type, unsigned nsid) > -+{ > -+ return new openbsd_nvme_device(this, name, type, nsid); > -+} > -+ > - int openbsd_smart_interface::get_dev_names(char ***names, const char > *prefix) > - { > - char *disknames, *p, **mp; > -@@ -504,6 +607,7 @@ bool openbsd_smart_interface::scan_smart_devices(smart > - > - bool scan_ata = !*type || !strcmp(type, "ata"); > - bool scan_scsi = !*type || !strcmp(type, "scsi") || !strcmp(type, > "sat"); > -+ bool scan_nvme = !*type || !strcmp(type, "nvme"); > - > - // Make namelists > - char * * atanames = 0; int numata = 0; > -@@ -517,7 +621,7 @@ bool openbsd_smart_interface::scan_smart_devices(smart > - > - char * * scsinames = 0; int numscsi = 0; > - char * * scsitapenames = 0; int numscsitape = 0; > -- if (scan_scsi) { > -+ if (scan_scsi || scan_nvme) { > - numscsi = get_dev_names(&scsinames, net_dev_scsi_disk); > - if (numscsi < 0) { > - set_err(ENOMEM); > -@@ -541,9 +645,17 @@ bool openbsd_smart_interface::scan_smart_devices(smart > - if(numata) free(atanames); > - > - for (i = 0; i < numscsi; i++) { > -- scsi_device * scsidev = new openbsd_scsi_device(this, scsinames[i], > type, true /*scanning*/); > -- if (scsidev) > -- devlist.push_back(scsidev); > -+ if (sd_is_nvme(scsinames[i])) { > -+ if (scan_nvme) { > -+ nvme_device * nvmedev = new openbsd_nvme_device(this, > scsinames[i], type, true /*scanning*/); > -+ if (nvmedev) > -+ devlist.push_back(nvmedev); > -+ } > -+ } else if (scan_scsi) { > -+ scsi_device * scsidev = new openbsd_scsi_device(this, scsinames[i], > type, true /*scanning*/); > -+ if (scsidev) > -+ devlist.push_back(scsidev); > -+ } > - free(scsinames[i]); > - } > - if(numscsi) free(scsinames); > -@@ -588,8 +700,11 @@ smart_device * openbsd_smart_interface::autodetect_sma > - // 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 or SAT device > -- return get_scsi_device(name, ""); > -+ // No USB bridge found, decide if it's NVME or regular SCSI or SAT > device > -+ if (sd_is_nvme(name)) > -+ return get_nvme_device(name, "nvme", 0); > -+ else > -+ return get_scsi_device(name, ""); > - } > - if (!strncmp(net_dev_scsi_tape, test_name, strlen(net_dev_scsi_tape))) > - return get_scsi_device(name, "scsi"); > Index: patches/patch-smartctl_8_in > =================================================================== > RCS file: patches/patch-smartctl_8_in > diff -N patches/patch-smartctl_8_in > --- patches/patch-smartctl_8_in 27 May 2024 14:30:36 -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,170 +0,0 @@ > -Index: smartctl.8.in > ---- smartctl.8.in.orig > -+++ smartctl.8.in > -@@ -233,11 +233,11 @@ in the smartmontools database (see \*(Aq\-v\*(Aq optio > - drive model family may also be printed. > - If \*(Aq\-n\*(Aq (see below) is specified, the power mode of the drive is > - printed. > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - [NVMe] For NVMe devices the information is obtained from the Identify > - Controller and the Identify Namespace data structure. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .TP > - .B \-\-identify[=[w][nvb]] > - [ATA only] Prints an annotated table of the IDENTIFY DEVICE data. > -@@ -266,12 +266,12 @@ the SMART options which require support for 48-bit ATA > - For SCSI, this is equivalent to > - .br > - \*(Aq\-H \-i \-A \-l error \-l selftest\*(Aq. > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - For NVMe, this is equivalent to > - .br > - \*(Aq\-H \-i \-c \-A \-l error \-l selftest\*(Aq. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .TP > - .B \-x, \-\-xall > - Prints all SMART and non-SMART information about the device. > -@@ -290,12 +290,12 @@ For SCSI disks, this is equivalent to > - \-l defects \-l envrep \-l genstats \-l ssd \-l zdevstat\*(Aq > - .br > - and for SCSI tape drives and changers, add \*(Aq\-l tapedevstat\*(Aq. > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - For NVMe, this is equivalent to > - .br > - \*(Aq\-H \-i \-c \-A \-l error \-l selftest\*(Aq. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .TP > - .B \-\-scan > - Scans for devices and prints each device name, device type and protocol > -@@ -1184,11 +1184,11 @@ Prefailure SMART Attribute value is less than or > equal > - [SCSI tape drive or changer] The TapeAlert status is obtained by reading the > - TapeAlert log page, but only if this option is given twice (see > - \fBTAPE DRIVES\fP for the rationale). > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - [NVMe] NVMe status is obtained by reading the "Critical Warning" byte from > - the SMART/Health Information log. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .TP > - .B \-c, \-\-capabilities > - [ATA] Prints only the generic SMART capabilities. These > -@@ -1197,11 +1197,11 @@ respond to some of the different SMART commands. > For > - shows if the device logs errors, if it supports offline surface > - scanning, and so on. If the device can carry out self-tests, this > - option also shows the estimated time required to run those tests. > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - [NVMe] Prints various NVMe device capabilities obtained from the Identify > - Controller and the Identify Namespace data structure. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .TP > - .B \-A, \-\-attributes > - [ATA] Prints only the vendor specific SMART Attributes. The Attributes > -@@ -1298,11 +1298,11 @@ and start-stop cycle counter log pages. > - Certain vendor specific attributes are listed if recognised. > - The attributes are output in a relatively free format (compared with ATA > - disk attributes). > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - [NVMe] For NVMe devices the attributes are obtained from the SMART/Health > - Information log. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .TP > - .B \-f FORMAT, \-\-format=FORMAT > - [ATA only] Selects the output format of the attributes: > -@@ -1407,7 +1407,7 @@ receives a command which is not implemented or is not > - \- [SCSI] prints the error counter log pages for reads, write and verifies. > - The verify row is only output if it has an element other than zero. > - .Sp > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .I error[,NUM] > - \- [NVMe] prints the NVMe Error Information log. > - Only the 16 most recent log entries are printed by default. > -@@ -1419,7 +1419,7 @@ Note that the contents of this log is not preserved ac > - controller resets, but the value of \*(AqError Information Log Entries\*(Aq > - from SMART/Health Information log is. > - .Sp > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .I xerror[,NUM][,error] > - \- [ATA only] prints the Extended Comprehensive SMART error log > - (General Purpose Log address 0x03). Unlike the Summary SMART error > -@@ -1472,12 +1472,12 @@ If provided, the SCSI Sense Key (SK), Additional > Sense > - Additional Sense Code Qualifier (ASCQ) are also printed. The self tests > - can be run using the \*(Aq\-t\*(Aq option described below (using the ATA > - test terminology). > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - .I selftest > - \- [NVMe: NEW EXPERIMENTAL SMARTCTL 7.4 FEATURE] > - prints the NVMe self-test log. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - .I xselftest[,NUM][,selftest] > - \- [ATA only] prints the Extended SMART self-test log (General Purpose > -@@ -1663,7 +1663,7 @@ This command: > - writes a binary representation of the one sector log 0x11 > - (SATA Phy Event Counters) to file log.bin. > - .Sp > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .I nvmelog,PAGE,SIZE > - \- [NVMe only] prints a hex dump of the first SIZE bytes from the NVMe > - log with identifier PAGE. > -@@ -1672,7 +1672,7 @@ SIZE is a hexadecimal number in the range from 0x4 to > - \fBWARNING: Do not specify the identifier of an unknown log page. > - Reading a log page may have undesirable side effects.\fP > - .Sp > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .I ssd > - \- [ATA] prints the Solid State Device Statistics log page. > - This has the same effect as \*(Aq\-l devstat,7\*(Aq, see above. > -@@ -2130,12 +2130,12 @@ with other disks use the \*(Aq\-c\*(Aq option to > monit > - .Sp > - .I short > - \- [SCSI] runs the "Background short" self-test. > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - .I short > - \- [NVMe: NEW EXPERIMENTAL SMARTCTL 7.4 FEATURE] > - runs the "Short" self-test for current namespace. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - .I long > - \- [ATA] runs SMART Extended Self Test (tens of minutes to several hours). > -@@ -2146,12 +2146,12 @@ below). > - .Sp > - .I long > - \- [SCSI] runs the "Background long" self-test. > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - .I long > - \- [NVMe: NEW EXPERIMENTAL SMARTCTL 7.4 FEATURE] > - runs the "Extended" self-test for current namespace. > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .Sp > - .I conveyance > - \- [ATA only] runs a SMART Conveyance Self Test (minutes). This > Index: patches/patch-smartd_8_in > =================================================================== > RCS file: patches/patch-smartd_8_in > diff -N patches/patch-smartd_8_in > --- patches/patch-smartd_8_in 27 May 2024 14:30:36 -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,17 +0,0 @@ > -Index: smartd.8.in > ---- smartd.8.in.orig > -+++ smartd.8.in > -@@ -458,11 +458,11 @@ this option are: > - .I scsiioctl > - \- report only ioctl() transactions with SCSI devices. > - .Sp > --.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %IF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - .I nvmeioctl > - \- report only ioctl() transactions with NVMe devices. > - .Sp > --.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin > -+.\" %ENDIF OS Darwin FreeBSD Linux NetBSD OpenBSD Windows Cygwin > - Any argument may include a positive integer to specify the level of > - detail that should be reported. The argument should be followed by a > - comma then the integer with no spaces. For example, \fIataioctl,2\fP >