From 16c35c398c5edbc96328406e9fb8045d815c6891 Mon Sep 17 00:00:00 2001 From: Markeryang <747675909@qq.com> Date: Thu, 16 Jul 2020 20:09:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=200006-os?= =?UTF-8?q?=5Ffreebsd.cpp-on-error-was-setting-set=5Fnvme=5Ferr-to-.patch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n-error-was-setting-set_nvme_err-to-.patch | 46 ------------------- 1 file changed, 46 deletions(-) delete mode 100644 0006-os_freebsd.cpp-on-error-was-setting-set_nvme_err-to-.patch diff --git a/0006-os_freebsd.cpp-on-error-was-setting-set_nvme_err-to-.patch b/0006-os_freebsd.cpp-on-error-was-setting-set_nvme_err-to-.patch deleted file mode 100644 index 7c24617..0000000 --- a/0006-os_freebsd.cpp-on-error-was-setting-set_nvme_err-to-.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 23435e436dca1d54d847df704cd947ef56736e65 Mon Sep 17 00:00:00 2001 -From: dpgilbert -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 -