@@ -114,7 +114,9 @@ struct BlockDriver {
/* Set if a driver can support backing files */
bool supports_backing;
- /* For handling image reopen for split or non-split files */
+ /* For handling image reopen for split or non-split files. Called
+ * with no I/O pending.
+ */
int (*bdrv_reopen_prepare)(BDRVReopenState *reopen_state,
BlockReopenQueue *queue, Error **errp);
void (*bdrv_reopen_commit)(BDRVReopenState *reopen_state);
@@ -125,11 +127,13 @@ struct BlockDriver {
Error **errp);
int (*bdrv_file_open)(BlockDriverState *bs, QDict *options, int flags,
Error **errp);
- void (*bdrv_close)(BlockDriverState *bs);
int (*bdrv_create)(const char *filename, QemuOpts *opts, Error **errp);
- int (*bdrv_set_key)(BlockDriverState *bs, const char *key);
int (*bdrv_make_empty)(BlockDriverState *bs);
+ /* Called from main thread. */
+ void (*bdrv_close)(BlockDriverState *bs);
+ int (*bdrv_set_key)(BlockDriverState *bs, const char *key);
+
void (*bdrv_refresh_filename)(BlockDriverState *bs, QDict *options);
/* aio */
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- include/block/block_int.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)