From 97aa6ec290a28a36c05725761418c4c4a3c821ed Mon Sep 17 00:00:00 2001 From: Hongtong Liu Date: Tue, 17 Jan 2017 15:41:08 +0800 Subject: [PATCH] bluestore: Release segs before delete task when write fails Fix assert failure in ~Task(). Signed-off-by: Hongtong Liu --- src/os/bluestore/NVMEDevice.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/os/bluestore/NVMEDevice.cc b/src/os/bluestore/NVMEDevice.cc index b38fad154aa78..df2fb52667bce 100644 --- a/src/os/bluestore/NVMEDevice.cc +++ b/src/os/bluestore/NVMEDevice.cc @@ -417,6 +417,7 @@ void SharedDriverData::_aio_thread() data_buf_reset_sgl, data_buf_next_sge); if (r < 0) { t->ctx->nvme_task_first = t->ctx->nvme_task_last = nullptr; + t->release_segs(); delete t; derr << __func__ << " failed to do write command" << dendl; ceph_abort(); -- 2.39.5