From: Jianpeng Ma Date: Thu, 17 Mar 2016 16:18:48 +0000 (+0800) Subject: os/bluestore/BlueFS: Before reap ioct, it should wait io complete. X-Git-Tag: v10.1.0~25^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=30e0f92074489ff90fdacaefbec821887aae81bb;p=ceph.git os/bluestore/BlueFS: Before reap ioct, it should wait io complete. When change write mode of FileWrite(in _flush_range) from buffer to direct. osd met segment fault. This because call _close_writer don't check related ios whether complete. Signed-off-by: Jianpeng Ma --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 0fbc8c97d0cb1..8a9118fc47827 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -1307,6 +1307,7 @@ void BlueFS::_close_writer(FileWriter *h) { dout(10) << __func__ << " " << h << dendl; for (unsigned i=0; iiocv[i]->aio_wait(); bdev[i]->queue_reap_ioc(h->iocv[i]); } h->iocv.clear();