删除文件 0006-os_freebsd.cpp-on-error-was-setting-set_nvme_err-to-.patch
This commit is contained in:
parent
61dce63a10
commit
16c35c398c
@ -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
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user