Am 25.07.2013 um 16:23 hat Paolo Bonzini geschrieben: > bdrv_is_allocated can detect coroutine context and go through a fast > path, similar to other block layer functions. > > Reviewed-by: Eric Blake <ebl...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
It can, but why is this a good idea? The other block layer functions do this because existing drivers call bdrv_(p)read/write(v) and we don't want them to block the vcpu. So it's basically just a method of avoiding massive changes to existing callers. The only such caller of bdrv_is_allocated() that I can see is vvfat, and I don't think optimising that is our top priority. Charlie is working in exactly the opposite direction, namely splitting the existing functions in a coroutine-only and a synchronous-only part. We should be clear what we really want here. Kevin