On 14/05/2015 16:29, Alexander Yarygin wrote: > > Perhaps you can rename bdrv_drain_one to bdrv_flush_io_queue (inlining > > the existing bdrv_flush_io_queue into it)? That would work very well > > for me. > > Hmm, bdrv_flush_io_queue() is public, but has no users. How about > different name, maybe something like "bdrv_drain_requests_one" or so?
It's common for functions to call a driver hook, and then follow up with generic code. See bdrv_truncate for an example. I would just keep bdrv_flush_io_queue(); bdrv_start_throttled_reqs is really the generic code to flush the I/O queue. Perhaps, if you prefer, move bdrv_requests_pending(bs) to the callers so that it keeps returning void? Paolo