From c88811332467f6b35803bce88b84b4c31bccaaeb Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 2 Dec 2019 17:55:39 +0800 Subject: [PATCH] os/bluestore: print error if spdk_nvme_ns_cmd_writev() fails when spdk_nvme_ns_cmd_writev() func return error, it hasn't direct error code. So it can add some error info. Fixes: https://tracker.ceph.com/issues/41208 Signed-off-by: NancySu05 --- src/os/bluestore/NVMEDevice.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/os/bluestore/NVMEDevice.cc b/src/os/bluestore/NVMEDevice.cc index 107bd085bd296..bef0c6357605b 100644 --- a/src/os/bluestore/NVMEDevice.cc +++ b/src/os/bluestore/NVMEDevice.cc @@ -397,7 +397,7 @@ void SharedDriverQueueData::_aio_handle(Task *t, IOContext *ioc) ns, qpair, lba_off, lba_count, io_complete, t, 0, data_buf_reset_sgl, data_buf_next_sge); if (r < 0) { - derr << __func__ << " failed to do write command" << dendl; + derr << __func__ << " failed to do write command: " << cpp_strerror(r) << dendl; t->ctx->nvme_task_first = t->ctx->nvme_task_last = nullptr; t->release_segs(this); delete t; @@ -421,7 +421,7 @@ void SharedDriverQueueData::_aio_handle(Task *t, IOContext *ioc) ns, qpair, lba_off, lba_count, io_complete, t, 0, data_buf_reset_sgl, data_buf_next_sge); if (r < 0) { - derr << __func__ << " failed to read" << dendl; + derr << __func__ << " failed to read: " << cpp_strerror(r) << dendl; t->release_segs(this); delete t; ceph_abort(); @@ -437,7 +437,7 @@ void SharedDriverQueueData::_aio_handle(Task *t, IOContext *ioc) dout(20) << __func__ << " flush command issueed " << dendl; r = spdk_nvme_ns_cmd_flush(ns, qpair, io_complete, t); if (r < 0) { - derr << __func__ << " failed to flush" << dendl; + derr << __func__ << " failed to flush: " << cpp_strerror(r) << dendl; t->release_segs(this); delete t; ceph_abort(); -- 2.39.5