ldout(cct, 20) << __func__ << dendl;
static uint64_t max_conf_items = 128;
std::map<string, bool> configs = boost::assign::map_list_of(
+ "rbd_non_blocking_aio", false)(
"rbd_cache", false)(
"rbd_cache_writethrough_until_flush", false)(
"rbd_cache_size", false)(
config = cct->_conf->rbd_##config; \
} while (0);
+ ASSIGN_OPTION(non_blocking_aio);
ASSIGN_OPTION(cache);
ASSIGN_OPTION(cache_writethrough_until_flush);
ASSIGN_OPTION(cache_size);
void submit_aio_read(librbd::ImageCtx *ictx, uint64_t off, size_t len,
char *buf, bufferlist *pbl, librbd::AioCompletion *c,
int op_flags) {
- if (ictx->cct->_conf->rbd_non_blocking_aio) {
+ if (ictx->non_blocking_aio) {
ictx->aio_work_queue->queue(new C_AioReadWQ(ictx, off, len, buf, pbl, c,
op_flags));
} else {
void submit_aio_write(librbd::ImageCtx *ictx, uint64_t off, size_t len,
const char *buf, librbd::AioCompletion *c, int op_flags) {
- if (ictx->cct->_conf->rbd_non_blocking_aio) {
+ if (ictx->non_blocking_aio) {
ictx->aio_work_queue->queue(new C_AioWriteWQ(ictx, off, len, buf, c,
op_flags));
} else {
void submit_aio_discard(librbd::ImageCtx *ictx, uint64_t off, uint64_t len,
librbd::AioCompletion *c) {
- if (ictx->cct->_conf->rbd_non_blocking_aio) {
+ if (ictx->non_blocking_aio) {
ictx->aio_work_queue->queue(new C_AioDiscardWQ(ictx, off, len, c));
} else {
librbd::aio_discard(ictx, off, len, c);
}
void submit_aio_flush(librbd::ImageCtx *ictx, librbd::AioCompletion *c) {
- if (ictx->cct->_conf->rbd_non_blocking_aio) {
+ if (ictx->non_blocking_aio) {
ictx->aio_work_queue->queue(new C_AioFlushWQ(ictx, c));
} else {
librbd::aio_flush(ictx, c);