From: Kefu Chai Date: Mon, 2 Dec 2019 09:55:39 +0000 (+0800) Subject: os/bluestore: print error if spdk_nvme_ns_cmd_writev() fails X-Git-Tag: v15.1.0~655^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c88811332467f6b35803bce88b84b4c31bccaaeb;p=ceph.git 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 --- diff --git a/src/os/bluestore/NVMEDevice.cc b/src/os/bluestore/NVMEDevice.cc index 107bd085bd29..bef0c6357605 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();