The Tuesday 26 Aug 2014 à 15:15:43 (+0800), Fam Zheng wrote : > block_job_sleep_ns is the only user. Since we are moving towards > AioContext aware code, it's better to use the explict version and drop
s/explict/explicit/g ?G > the old one. > > Signed-off-by: Fam Zheng <f...@redhat.com> > --- > blockjob.c | 2 +- > include/block/coroutine.h | 8 -------- > qemu-coroutine-sleep.c | 12 ------------ > 3 files changed, 1 insertion(+), 21 deletions(-) > > diff --git a/blockjob.c b/blockjob.c > index ca0b4e2..0689fdd 100644 > --- a/blockjob.c > +++ b/blockjob.c > @@ -205,7 +205,7 @@ void block_job_sleep_ns(BlockJob *job, QEMUClockType > type, int64_t ns) > if (block_job_is_paused(job)) { > qemu_coroutine_yield(); > } else { > - co_sleep_ns(type, ns); > + co_aio_sleep_ns(bdrv_get_aio_context(job->bs), type, ns); > } > job->busy = true; > } > diff --git a/include/block/coroutine.h b/include/block/coroutine.h > index b9b7f48..793df0e 100644 > --- a/include/block/coroutine.h > +++ b/include/block/coroutine.h > @@ -203,14 +203,6 @@ void qemu_co_rwlock_unlock(CoRwlock *lock); > /** > * Yield the coroutine for a given duration > * > - * Note this function uses timers and hence only works when a main loop is in > - * use. See main-loop.h and do not use from qemu-tool programs. > - */ > -void coroutine_fn co_sleep_ns(QEMUClockType type, int64_t ns); > - > -/** > - * Yield the coroutine for a given duration > - * > * Behaves similarly to co_sleep_ns(), but the sleeping coroutine will be > * resumed when using aio_poll(). > */ > diff --git a/qemu-coroutine-sleep.c b/qemu-coroutine-sleep.c > index ad78fba..9abb7fd 100644 > --- a/qemu-coroutine-sleep.c > +++ b/qemu-coroutine-sleep.c > @@ -27,18 +27,6 @@ static void co_sleep_cb(void *opaque) > qemu_coroutine_enter(sleep_cb->co, NULL); > } > > -void coroutine_fn co_sleep_ns(QEMUClockType type, int64_t ns) > -{ > - CoSleepCB sleep_cb = { > - .co = qemu_coroutine_self(), > - }; > - sleep_cb.ts = timer_new(type, SCALE_NS, co_sleep_cb, &sleep_cb); > - timer_mod(sleep_cb.ts, qemu_clock_get_ns(type) + ns); > - qemu_coroutine_yield(); > - timer_del(sleep_cb.ts); > - timer_free(sleep_cb.ts); > -} > - > void coroutine_fn co_aio_sleep_ns(AioContext *ctx, QEMUClockType type, > int64_t ns) > { > -- > 2.1.0 > > Reviewed-by: Benoît Canet <benoit.ca...@nodalink.com>