|
@@ -101,7 +101,7 @@ typedef struct BlkMigState {
|
|
|
int prev_progress;
|
|
|
int bulk_completed;
|
|
|
|
|
|
- /* Lock must be taken _inside_ the iothread lock. */
|
|
|
+ /* Lock must be taken _inside_ the BQL. */
|
|
|
QemuMutex lock;
|
|
|
} BlkMigState;
|
|
|
|
|
@@ -117,7 +117,7 @@ static void blk_mig_unlock(void)
|
|
|
qemu_mutex_unlock(&block_mig_state.lock);
|
|
|
}
|
|
|
|
|
|
-/* Must run outside of the iothread lock during the bulk phase,
|
|
|
+/* Must run outside of the BQL during the bulk phase,
|
|
|
* or the VM will stall.
|
|
|
*/
|
|
|
|
|
@@ -327,7 +327,7 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
|
|
|
return (bmds->cur_sector >= total_sectors);
|
|
|
}
|
|
|
|
|
|
-/* Called with iothread lock taken. */
|
|
|
+/* Called with the BQL taken. */
|
|
|
|
|
|
static int set_dirty_tracking(void)
|
|
|
{
|
|
@@ -354,7 +354,7 @@ fail:
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-/* Called with iothread lock taken. */
|
|
|
+/* Called with the BQL taken. */
|
|
|
|
|
|
static void unset_dirty_tracking(void)
|
|
|
{
|
|
@@ -505,7 +505,7 @@ static void blk_mig_reset_dirty_cursor(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/* Called with iothread lock taken. */
|
|
|
+/* Called with the BQL taken. */
|
|
|
|
|
|
static int mig_save_device_dirty(QEMUFile *f, BlkMigDevState *bmds,
|
|
|
int is_async)
|
|
@@ -587,7 +587,7 @@ error:
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-/* Called with iothread lock taken.
|
|
|
+/* Called with the BQL taken.
|
|
|
*
|
|
|
* return value:
|
|
|
* 0: too much data for max_downtime
|
|
@@ -649,7 +649,7 @@ static int flush_blks(QEMUFile *f)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-/* Called with iothread lock taken. */
|
|
|
+/* Called with the BQL taken. */
|
|
|
|
|
|
static int64_t get_remaining_dirty(void)
|
|
|
{
|
|
@@ -667,7 +667,7 @@ static int64_t get_remaining_dirty(void)
|
|
|
|
|
|
|
|
|
|
|
|
-/* Called with iothread lock taken. */
|
|
|
+/* Called with the BQL taken. */
|
|
|
static void block_migration_cleanup_bmds(void)
|
|
|
{
|
|
|
BlkMigDevState *bmds;
|
|
@@ -690,7 +690,7 @@ static void block_migration_cleanup_bmds(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/* Called with iothread lock taken. */
|
|
|
+/* Called with the BQL taken. */
|
|
|
static void block_migration_cleanup(void *opaque)
|
|
|
{
|
|
|
BlkMigBlock *blk;
|
|
@@ -767,7 +767,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
|
|
|
}
|
|
|
ret = 0;
|
|
|
} else {
|
|
|
- /* Always called with iothread lock taken for
|
|
|
+ /* Always called with the BQL taken for
|
|
|
* simplicity, block_save_complete also calls it.
|
|
|
*/
|
|
|
bql_lock();
|
|
@@ -795,7 +795,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
|
|
|
return (delta_bytes > 0);
|
|
|
}
|
|
|
|
|
|
-/* Called with iothread lock taken. */
|
|
|
+/* Called with the BQL taken. */
|
|
|
|
|
|
static int block_save_complete(QEMUFile *f, void *opaque)
|
|
|
{
|