]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
bluestore: Release segs before delete task when write fails 12956/head
authorHongtong Liu <hongtong.liu@istuary.com>
Tue, 17 Jan 2017 07:41:08 +0000 (15:41 +0800)
committerHongtong Liu <hongtong.liu@istuary.com>
Sun, 22 Jan 2017 09:26:33 +0000 (17:26 +0800)
Fix assert failure in ~Task().

Signed-off-by: Hongtong Liu <hongtong.liu@istuary.com>
src/os/bluestore/NVMEDevice.cc

index b38fad154aa78f475b24967ad12c2619555ae454..df2fb52667bcea147678b9feabc676ffc6f397ab 100644 (file)
@@ -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();