On 12.04.23 14:03, Paolo Bonzini wrote:
On Wed, Apr 12, 2023 at 1:54 PM Hanna Czenczek wrote:
On 05.04.23 18:31, Paolo Bonzini wrote:
+if (busy || blk->in_flight) {
+return true;
+}
+
+if (qatomic_read(&blk->request_queuing) == BLK_QUEUE_READY) {
+qatomic_set(&blk->
On Wed, Apr 12, 2023 at 1:54 PM Hanna Czenczek wrote:
> On 05.04.23 18:31, Paolo Bonzini wrote:
> > +if (busy || blk->in_flight) {
> > +return true;
> > +}
> > +
> > +if (qatomic_read(&blk->request_queuing) == BLK_QUEUE_READY) {
> > +qatomic_set(&blk->request_queuing, B
On 05.04.23 18:31, Paolo Bonzini wrote:
Request queuing prevents new requests from being submitted to the
BlockDriverState, not allowing them to start instead of just letting
them complete before bdrv_drained_begin() returns.
The reason for this was to ensure progress and avoid a livelock
in blk
Request queuing prevents new requests from being submitted to the
BlockDriverState, not allowing them to start instead of just letting
them complete before bdrv_drained_begin() returns.
The reason for this was to ensure progress and avoid a livelock
in blk_drain(), blk_drain_all_begin(), bdrv_drai