From: Jianjian Huo Date: Thu, 19 May 2016 22:11:33 +0000 (-0700) Subject: os/bluestore/BlueFS: convert all read/write IO to direct IO. X-Git-Tag: v11.0.0~289^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F9533%2Fhead;p=ceph.git os/bluestore/BlueFS: convert all read/write IO to direct IO. RocksDB is the sole user of BlueFS, after BlueFS uses direct IO, RocksDB will have to use its own block cache to cache raw data blocks. Signed-off-by: Jianjian Huo --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index ff1dc71b9447..da0ff9a4c73c 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -738,7 +738,7 @@ int BlueFS::_read_random( } dout(20) << __func__ << " read buffered " << x_off << "~" << l << " of " << *p << dendl; - int r = bdev[p->bdev]->read_random(p->offset + x_off, l, out, true); + int r = bdev[p->bdev]->read_random(p->offset + x_off, l, out, false); assert(r == 0); off += l; len -= l; @@ -797,7 +797,7 @@ int BlueFS::_read( dout(20) << __func__ << " fetching " << x_off << "~" << l << " of " << *p << dendl; int r = bdev[p->bdev]->read(p->offset + x_off, l, &buf->bl, ioc[p->bdev], - true); + false); assert(r == 0); } left = buf->get_buf_remaining(off); @@ -1121,7 +1121,7 @@ int BlueFS::_flush_range(FileWriter *h, uint64_t offset, uint64_t length) h->tail_block.substr_of(bl, bl.length() - tail, tail); t.append_zero(super.block_size - tail); } - bdev[p->bdev]->aio_write(p->offset + x_off, t, h->iocv[p->bdev], true); + bdev[p->bdev]->aio_write(p->offset + x_off, t, h->iocv[p->bdev], false); bloff += x_len; length -= x_len; ++p;