删除文件 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