On Wed, Feb 13, 2013 at 02:22:10PM +0100, Kevin Wolf wrote: > @@ -707,6 +710,16 @@ int qcow2_alloc_cluster_link_l2(BlockDriverState *bs, > QCowL2Meta *m) > } > > /* Update L2 table. */ > + qemu_co_mutex_unlock(&s->lock); > + qemu_co_rwlock_wrlock(&m->l2_writeback_lock); > + has_wr_lock = true; > + qemu_co_mutex_lock(&s->lock); > + > + if (m->no_l2_update) {
QcowL2Meta now has a no_l2_update field. A sign that we're abusing the QcowL2Meta struct and really need a different abstraction?