head 1.2; access; symbols pkgsrc-2020Q2:1.1.0.12 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.8 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.10 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.6 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.4 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.2 pkgsrc-2019Q1-base:1.1; locks; strict; comment @// @; 1.2 date 2020.08.15.08.28.48; author tnn; state dead; branches; next 1.1; commitid ftIgHUd55i6yv8kC; 1.1 date 2019.02.15.20.38.29; author triaxx; state Exp; branches; next ; commitid EQphpaIFyCAa7UbB; desc @@ 1.2 log @smartmontools: update to 7.1 - smartctl: Fixed bogus exception on unknown form factor value (regression). - smartctl '--json=cg': Suppresses extra spaces also in 'g' format. - smartctl '-i': ATA ACS-4 and ACS-5 enhancements. - smartd: No longer truncates very long device names in warning emails. - smartd: No longer skips scheduled tests if system clock has been adjusted to the past. - smartd '-A': Attribute logs now use local time instead of UTC. - ATA: Device type '-d jmb39x,N' for drives behind JMicron JMB39x RAID port multipliers. - SCSI: Workaround for incomplete Log subpages response from some SAS SSDs. - HDD, SSD and USB additions to drive database. - Autodetection of '-d sntjmicron' type for JMicron USB to NVMe bridges. - configure: Defines '_FORTIFY_SOURCE=2' if supported and not defined. - Linux/FreeBSD: Fixed segfault on CCISS transfer sizes > 512 bytes. - Linux: Fixed smartd.service 'Type' if libsystemd-dev is not available. - Linux: Fixed '/dev/megaraid_sas_ioctl_node' fd leak. - Linux: Fixed GPL licensing problem of 'linux_nvme_ioctl.h'. - FreeBSD update-smart-drivedb: Now uses 'fetch' as default download tool. - FreeBSD big endian: Fixed NVMe access. - FreeBSD: Compile fix for FreeBSD 12. - NetBSD: Fixed device scan crash on empty name list. - NetBSD: Fixed memory leak in device scan. @ text @$NetBSD: patch-os__freebsd.cpp,v 1.1 2019/02/15 20:38:29 triaxx Exp $ * Big-endian support has been added to NVMe in FreeBSD 1200059: status field of struct nvme_completion changed from struct nvme_status to uint16_t. https://svnweb.freebsd.org/base/stable/12/sys/dev/nvme/nvme.h?revision=329824 --- os_freebsd.cpp.orig 2018-12-05 18:30:46.000000000 +0000 +++ os_freebsd.cpp @@@@ -542,7 +542,12 @@@@ bool freebsd_nvme_device::nvme_pass_through(const nvme out.result=cp_p->cdw0; // Command specific result (DW0) if (nvme_completion_is_error(cp_p)) { /* ignore DNR and More bits */ +#if __FreeBSD_version < 1200059 uint16_t nvme_status = ((cp_p->status.sct << 8) | cp_p->status.sc) & 0x3ff; +#else + uint16_t nvme_status = NVME_STATUS_GET_SCT(cp_p->status) | + NVME_STATUS_GET_SC(cp_p->status); +#endif return set_nvme_err(out, nvme_status); } @ 1.1 log @smartmontools: fix build for FreeBSD * Change c++03 to c++: clang++ now identify strtoull() * Patch NVMe * Bump revision @ text @d1 1 a1 1 $NetBSD$ @