Lines Matching refs:errp

319 static int parse_block_error_action(const char *buf, bool is_read, Error **errp)  in parse_block_error_action()  argument
330 error_setg(errp, "'%s' invalid %s error action", in parse_block_error_action()
337 Error **errp) in parse_stats_intervals() argument
351 error_setg(errp, "Invalid interval length: %s", str); in parse_stats_intervals()
363 error_setg(errp, "Invalid interval length: %" PRId64, length); in parse_stats_intervals()
370 error_setg(errp, "The specification of stats-intervals is invalid"); in parse_stats_intervals()
382 BlockdevDetectZeroesOptions *detect_zeroes, Error **errp) in extract_common_blockdev_options() argument
394 error_setg(errp, "invalid aio option"); in extract_common_blockdev_options()
449 if (!throttle_is_valid(throttle_cfg, errp)) { in extract_common_blockdev_options()
461 error_propagate(errp, local_error); in extract_common_blockdev_options()
480 Error **errp) in blockdev_init() argument
503 opts = qemu_opts_create(&qemu_common_drive_opts, id, 1, errp); in blockdev_init()
508 if (!qemu_opts_absorb_qdict(opts, bs_opts, errp)) { in blockdev_init()
530 error_setg(errp, "Invalid option stats-intervals.%s", in blockdev_init()
538 error_propagate(errp, error); in blockdev_init()
553 error_setg(errp, "Cannot specify both 'driver' and 'format'"); in blockdev_init()
563 error_propagate(errp, error); in blockdev_init()
572 error_propagate(errp, error); in blockdev_init()
612 blk = blk_new_open(file, NULL, bs_opts, bdrv_flags, errp); in blockdev_init()
622 if (!parse_stats_intervals(blk_get_stats(blk), interval_list, errp)) { in blockdev_init()
641 if (!monitor_add_blk(blk, id, errp)) { in blockdev_init()
663 BlockDriverState *bds_tree_init(QDict *bs_opts, Error **errp) in bds_tree_init() argument
679 return bdrv_open(NULL, NULL, bs_opts, bdrv_flags, errp); in bds_tree_init()
701 Error **errp) in qemu_opt_rename() argument
708 error_setg(errp, "'%s' and its alias '%s' can't be used at the " in qemu_opt_rename()
776 Error **errp) in drive_new() argument
824 opt_renames[i].to, errp)) { in drive_new()
835 error_setg(errp, "invalid cache option"); in drive_new()
861 if (!qemu_opts_absorb_qdict(legacy_opts, bs_opts, errp)) { in drive_new()
874 error_setg(errp, "'%s' invalid media", value); in drive_new()
899 error_setg(errp, "unsupported bus type '%s'", value); in drive_new()
916 error_setg(errp, "index cannot be used with bus and unit"); in drive_new()
935 error_setg(errp, "unit %d too big (max is %d)", unit_id, max_devs - 1); in drive_new()
940 error_setg(errp, "drive with bus=%d, unit=%d (index=%d) exists", in drive_new()
989 error_setg(errp, "werror is not supported by this bus type"); in drive_new()
999 error_setg(errp, "rerror is not supported by this bus type"); in drive_new()
1006 blk = blockdev_init(filename, bs_opts, errp); in drive_new()
1039 static BlockDriverState *qmp_get_root_bs(const char *name, Error **errp) in qmp_get_root_bs() argument
1045 bs = bdrv_lookup_bs(name, name, errp); in qmp_get_root_bs()
1051 error_setg(errp, "Need a root block node"); in qmp_get_root_bs()
1056 error_setg(errp, "Device has no medium"); in qmp_get_root_bs()
1063 static void blockdev_do_action(TransactionAction *action, Error **errp) in blockdev_do_action() argument
1069 qmp_transaction(&list, NULL, errp); in blockdev_do_action()
1076 bool has_mode, NewImageMode mode, Error **errp) in qmp_blockdev_snapshot_sync() argument
1091 blockdev_do_action(&action, errp); in qmp_blockdev_snapshot_sync()
1095 Error **errp) in qmp_blockdev_snapshot() argument
1105 blockdev_do_action(&action, errp); in qmp_blockdev_snapshot()
1110 Error **errp) in qmp_blockdev_snapshot_internal_sync() argument
1120 blockdev_do_action(&action, errp); in qmp_blockdev_snapshot_internal_sync()
1126 Error **errp) in qmp_blockdev_snapshot_delete_internal_sync() argument
1137 bs = qmp_get_root_bs(device, errp); in qmp_blockdev_snapshot_delete_internal_sync()
1143 error_setg(errp, "Name or id must be provided"); in qmp_blockdev_snapshot_delete_internal_sync()
1147 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_INTERNAL_SNAPSHOT_DELETE, errp)) { in qmp_blockdev_snapshot_delete_internal_sync()
1153 error_propagate(errp, local_err); in qmp_blockdev_snapshot_delete_internal_sync()
1157 error_setg(errp, in qmp_blockdev_snapshot_delete_internal_sync()
1166 error_propagate(errp, local_err); in qmp_blockdev_snapshot_delete_internal_sync()
1201 Transaction *tran, Error **errp) in internal_snapshot_action() argument
1221 bs = qmp_get_root_bs(device, errp); in internal_snapshot_action()
1231 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_INTERNAL_SNAPSHOT, errp)) { in internal_snapshot_action()
1236 error_setg(errp, "Device '%s' is read only", device); in internal_snapshot_action()
1241 error_setg(errp, "Block format '%s' used by device '%s' " in internal_snapshot_action()
1248 error_setg(errp, "Name is empty"); in internal_snapshot_action()
1256 error_propagate(errp, local_err); in internal_snapshot_action()
1259 error_setg(errp, in internal_snapshot_action()
1280 error_setg_errno(errp, -ret1, in internal_snapshot_action()
1341 Transaction *tran, Error **errp) in external_snapshot_action() argument
1389 state->old_bs = bdrv_lookup_bs(device, node_name, errp); in external_snapshot_action()
1398 error_setg(errp, "Device '%s' has no medium", in external_snapshot_action()
1404 BLOCK_OP_TYPE_EXTERNAL_SNAPSHOT, errp)) { in external_snapshot_action()
1411 error_setg_errno(errp, -ret, "Write to node '%s' failed", in external_snapshot_action()
1424 error_setg(errp, "New overlay node-name missing"); in external_snapshot_action()
1430 error_setg(errp, "New overlay node-name already in use"); in external_snapshot_action()
1443 error_setg_errno(errp, -size, "bdrv_getlength failed"); in external_snapshot_action()
1454 error_propagate(errp, local_err); in external_snapshot_action()
1467 errp); in external_snapshot_action()
1481 error_setg(errp, "The overlay is already in use"); in external_snapshot_action()
1486 error_setg(errp, "Filters cannot be used as overlays"); in external_snapshot_action()
1491 error_setg(errp, "The overlay already has a backing image"); in external_snapshot_action()
1496 error_setg(errp, "The overlay does not support backing images"); in external_snapshot_action()
1500 ret = bdrv_append(state->new_bs, state->old_bs, errp); in external_snapshot_action()
1578 JobTxn *txn, Error **errp);
1591 Transaction *tran, Error **errp) in drive_backup_action() argument
1614 bs = bdrv_lookup_bs(backup->device, backup->device, errp); in drive_backup_action()
1620 error_setg(errp, "Device has no medium"); in drive_backup_action()
1637 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_BACKUP_SOURCE, errp)) { in drive_backup_action()
1669 error_setg_errno(errp, -size, "bdrv_getlength failed"); in drive_backup_action()
1695 error_propagate(errp, local_err); in drive_backup_action()
1706 target_bs = bdrv_open(backup->target, NULL, options, flags, errp); in drive_backup_action()
1711 ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp); in drive_backup_action()
1718 if (bdrv_set_backing_hd(target_bs, source, errp) < 0) { in drive_backup_action()
1725 block_job_txn, errp); in drive_backup_action()
1775 Transaction *tran, Error **errp) in blockdev_backup_action() argument
1785 bs = bdrv_lookup_bs(backup->device, backup->device, errp); in blockdev_backup_action()
1790 target_bs = bdrv_lookup_bs(backup->target, backup->target, errp); in blockdev_backup_action()
1798 ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp); in blockdev_backup_action()
1810 block_job_txn, errp); in blockdev_backup_action()
1855 Transaction *tran, Error **errp) in block_dirty_bitmap_add_action() argument
1873 error_propagate(errp, local_err); in block_dirty_bitmap_add_action()
1895 Transaction *tran, Error **errp) in block_dirty_bitmap_clear_action() argument
1904 errp); in block_dirty_bitmap_clear_action()
1909 if (bdrv_dirty_bitmap_check(state->bitmap, BDRV_BITMAP_DEFAULT, errp)) { in block_dirty_bitmap_clear_action()
1939 Transaction *tran, Error **errp) in block_dirty_bitmap_enable_action() argument
1948 errp); in block_dirty_bitmap_enable_action()
1953 if (bdrv_dirty_bitmap_check(state->bitmap, BDRV_BITMAP_ALLOW_RO, errp)) { in block_dirty_bitmap_enable_action()
1977 Transaction *tran, Error **errp) in block_dirty_bitmap_disable_action() argument
1986 errp); in block_dirty_bitmap_disable_action()
1991 if (bdrv_dirty_bitmap_check(state->bitmap, BDRV_BITMAP_ALLOW_RO, errp)) { in block_dirty_bitmap_disable_action()
2015 Transaction *tran, Error **errp) in block_dirty_bitmap_merge_action() argument
2023 errp); in block_dirty_bitmap_merge_action()
2035 Transaction *tran, Error **errp) in block_dirty_bitmap_remove_action() argument
2043 false, &state->bs, errp); in block_dirty_bitmap_remove_action()
2073 static void abort_action(Transaction *tran, Error **errp) in abort_action() argument
2076 error_setg(errp, "Transaction aborted using Abort action"); in abort_action()
2085 Transaction *tran, Error **errp) in transaction_action() argument
2090 external_snapshot_action(act, tran, errp); in transaction_action()
2094 block_job_txn, tran, errp); in transaction_action()
2098 block_job_txn, tran, errp); in transaction_action()
2101 abort_action(tran, errp); in transaction_action()
2105 tran, errp); in transaction_action()
2109 tran, errp); in transaction_action()
2113 tran, errp); in transaction_action()
2117 tran, errp); in transaction_action()
2121 act->u.block_dirty_bitmap_disable.data, tran, errp); in transaction_action()
2125 tran, errp); in transaction_action()
2129 tran, errp); in transaction_action()
2153 Error **errp) in qmp_transaction() argument
2175 error_setg(errp, in qmp_transaction()
2196 error_propagate(errp, local_err); in qmp_transaction()
2215 Error **errp) in qmp_x_debug_block_dirty_bitmap_sha256() argument
2222 bitmap = block_dirty_bitmap_lookup(node, name, &bs, errp); in qmp_x_debug_block_dirty_bitmap_sha256()
2227 sha256 = bdrv_dirty_bitmap_sha256(bitmap, errp); in qmp_x_debug_block_dirty_bitmap_sha256()
2239 int64_t size, Error **errp) in qmp_block_resize() argument
2248 error_propagate(errp, local_err); in qmp_block_resize()
2253 error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "size", "a >0 size"); in qmp_block_resize()
2258 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_RESIZE, errp)) { in qmp_block_resize()
2264 blk = blk_co_new_with_bs(bs, BLK_PERM_RESIZE, BLK_PERM_ALL, errp); in qmp_block_resize()
2272 blk_co_truncate(blk, size, false, PREALLOC_MODE_OFF, 0, errp); in qmp_block_resize()
2291 Error **errp) in qmp_block_stream() argument
2303 error_setg(errp, "'base' and 'base-node' cannot be specified " in qmp_block_stream()
2309 error_setg(errp, "'base' and 'bottom' cannot be specified " in qmp_block_stream()
2315 error_setg(errp, "'bottom' and 'base-node' cannot be specified " in qmp_block_stream()
2328 bs = bdrv_lookup_bs(device, device, errp); in qmp_block_stream()
2339 error_setg(errp, "Can't find '%s' in the backing chain", base); in qmp_block_stream()
2346 base_bs = bdrv_lookup_bs(NULL, base_node, errp); in qmp_block_stream()
2351 error_setg(errp, "Node '%s' is not a backing image of '%s'", in qmp_block_stream()
2361 bottom_bs = bdrv_lookup_bs(NULL, bottom, errp); in qmp_block_stream()
2366 error_setg(errp, "Node '%s' is not open", bottom); in qmp_block_stream()
2370 error_setg(errp, "Node '%s' is a filter, use a non-filter node " in qmp_block_stream()
2375 error_setg(errp, "Node '%s' is not in a chain starting from '%s'", in qmp_block_stream()
2389 if (bdrv_op_is_blocked(iter, BLOCK_OP_TYPE_STREAM, errp)) { in qmp_block_stream()
2398 error_setg(errp, "backing file specified, but streaming the " in qmp_block_stream()
2415 error_propagate(errp, local_err); in qmp_block_stream()
2439 Error **errp) in qmp_block_commit() argument
2478 error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND, in qmp_block_commit()
2481 error_propagate(errp, local_err); in qmp_block_commit()
2488 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_COMMIT_SOURCE, errp)) { in qmp_block_commit()
2496 error_setg(errp, "'top-node' and 'top' are mutually exclusive"); in qmp_block_commit()
2499 top_bs = bdrv_lookup_bs(NULL, top_node, errp); in qmp_block_commit()
2504 error_setg(errp, "'%s' is not in this backing file chain", in qmp_block_commit()
2519 error_setg(errp, "Top image file %s not found", top ? top : "NULL"); in qmp_block_commit()
2526 error_setg(errp, "'base-node' and 'base' are mutually exclusive"); in qmp_block_commit()
2529 base_bs = bdrv_lookup_bs(NULL, base_node, errp); in qmp_block_commit()
2534 error_setg(errp, "'%s' is not in this backing file chain", in qmp_block_commit()
2541 error_setg(errp, "Can't find '%s' in the backing chain", base); in qmp_block_commit()
2547 error_setg(errp, "There is no backimg image"); in qmp_block_commit()
2557 if (bdrv_op_is_blocked(iter, BLOCK_OP_TYPE_COMMIT_TARGET, errp)) { in qmp_block_commit()
2564 error_setg(errp, "cannot commit an image into itself"); in qmp_block_commit()
2582 error_setg(errp, "'backing-file' specified," in qmp_block_commit()
2585 error_setg(errp, "'backing-file' specified, but 'top' has a " in qmp_block_commit()
2603 if (bdrv_op_is_blocked(overlay_bs, BLOCK_OP_TYPE_COMMIT_TARGET, errp)) { in qmp_block_commit()
2612 error_propagate(errp, local_err); in qmp_block_commit()
2622 JobTxn *txn, Error **errp) in do_backup_common() argument
2667 error_setg(errp, "must provide a valid bitmap name for " in do_backup_common()
2676 error_setg(errp, "Bitmap sync mode must be '%s' " in do_backup_common()
2690 error_setg(errp, "Bitmap '%s' could not be found", backup->bitmap); in do_backup_common()
2694 error_setg(errp, "Bitmap sync mode must be given " in do_backup_common()
2698 if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_ALLOW_RO, errp)) { in do_backup_common()
2704 error_setg(errp, "sync mode '%s' does not produce meaningful bitmap" in do_backup_common()
2712 error_setg(errp, "Bitmap sync mode '%s' has no meaningful effect" in do_backup_common()
2721 error_setg(errp, "Cannot specify bitmap sync mode without a bitmap"); in do_backup_common()
2739 job_flags, NULL, NULL, txn, errp); in do_backup_common()
2743 void qmp_drive_backup(DriveBackup *backup, Error **errp) in qmp_drive_backup() argument
2749 blockdev_do_action(&action, errp); in qmp_drive_backup()
2754 Error **errp) in qmp_query_named_block_nodes() argument
2758 return bdrv_named_nodes_list(return_flat, errp); in qmp_query_named_block_nodes()
2761 XDbgBlockGraph *qmp_x_debug_query_block_graph(Error **errp) in qmp_x_debug_query_block_graph() argument
2765 return bdrv_get_xdbg_block_graph(errp); in qmp_x_debug_query_block_graph()
2768 void qmp_blockdev_backup(BlockdevBackup *backup, Error **errp) in qmp_blockdev_backup() argument
2774 blockdev_do_action(&action, errp); in qmp_blockdev_backup()
2798 Error **errp) in blockdev_mirror_common() argument
2835 error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "granularity", in blockdev_mirror_common()
2840 error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "granularity", in blockdev_mirror_common()
2845 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_MIRROR_SOURCE, errp)) { in blockdev_mirror_common()
2848 if (bdrv_op_is_blocked(target, BLOCK_OP_TYPE_MIRROR_TARGET, errp)) { in blockdev_mirror_common()
2870 error_setg_errno(errp, -bs_size, "Failed to query device's size"); in blockdev_mirror_common()
2874 to_replace_bs = check_to_replace_node(bs, replaces, errp); in blockdev_mirror_common()
2882 error_setg_errno(errp, -replace_size, in blockdev_mirror_common()
2887 error_setg(errp, "cannot replace image with a mirror image of " in blockdev_mirror_common()
2900 copy_mode, errp); in blockdev_mirror_common()
2903 void qmp_drive_mirror(DriveMirror *arg, Error **errp) in qmp_drive_mirror() argument
2917 bs = qmp_get_root_bs(arg->device, errp); in qmp_drive_mirror()
2924 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_MIRROR_SOURCE, errp)) { in qmp_drive_mirror()
2952 error_setg_errno(errp, -size, "bdrv_getlength failed"); in qmp_drive_mirror()
2958 error_setg(errp, "a node-name must be provided when replacing a" in qmp_drive_mirror()
3007 error_propagate(errp, local_err); in qmp_drive_mirror()
3022 target_bs = bdrv_open(arg->target, NULL, options, flags, errp); in qmp_drive_mirror()
3034 ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp); in qmp_drive_mirror()
3053 errp); in qmp_drive_mirror()
3072 Error **errp) in qmp_blockdev_mirror() argument
3081 bs = qmp_get_root_bs(device, errp); in qmp_blockdev_mirror()
3086 target_bs = bdrv_lookup_bs(target, target, errp); in qmp_blockdev_mirror()
3095 ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp); in qmp_blockdev_mirror()
3111 errp); in qmp_blockdev_mirror()
3117 static BlockJob *find_block_job_locked(const char *id, Error **errp) in find_block_job_locked() argument
3126 error_set(errp, ERROR_CLASS_DEVICE_NOT_ACTIVE, in find_block_job_locked()
3134 void qmp_block_job_set_speed(const char *device, int64_t speed, Error **errp) in qmp_block_job_set_speed() argument
3139 job = find_block_job_locked(device, errp); in qmp_block_job_set_speed()
3145 block_job_set_speed_locked(job, speed, errp); in qmp_block_job_set_speed()
3149 bool has_force, bool force, Error **errp) in qmp_block_job_cancel() argument
3154 job = find_block_job_locked(device, errp); in qmp_block_job_cancel()
3165 error_setg(errp, "The block job for device '%s' is currently paused", in qmp_block_job_cancel()
3171 job_user_cancel_locked(&job->job, force, errp); in qmp_block_job_cancel()
3174 void qmp_block_job_pause(const char *device, Error **errp) in qmp_block_job_pause() argument
3179 job = find_block_job_locked(device, errp); in qmp_block_job_pause()
3186 job_user_pause_locked(&job->job, errp); in qmp_block_job_pause()
3189 void qmp_block_job_resume(const char *device, Error **errp) in qmp_block_job_resume() argument
3194 job = find_block_job_locked(device, errp); in qmp_block_job_resume()
3201 job_user_resume_locked(&job->job, errp); in qmp_block_job_resume()
3204 void qmp_block_job_complete(const char *device, Error **errp) in qmp_block_job_complete() argument
3209 job = find_block_job_locked(device, errp); in qmp_block_job_complete()
3216 job_complete_locked(&job->job, errp); in qmp_block_job_complete()
3219 void qmp_block_job_finalize(const char *id, Error **errp) in qmp_block_job_finalize() argument
3224 job = find_block_job_locked(id, errp); in qmp_block_job_finalize()
3232 job_finalize_locked(&job->job, errp); in qmp_block_job_finalize()
3237 void qmp_block_job_dismiss(const char *id, Error **errp) in qmp_block_job_dismiss() argument
3243 bjob = find_block_job_locked(id, errp); in qmp_block_job_dismiss()
3251 job_dismiss_locked(&job, errp); in qmp_block_job_dismiss()
3254 void qmp_block_job_change(BlockJobChangeOptions *opts, Error **errp) in qmp_block_job_change() argument
3259 job = find_block_job_locked(opts->id, errp); in qmp_block_job_change()
3265 block_job_change_locked(job, opts, errp); in qmp_block_job_change()
3271 Error **errp) in qmp_change_backing_file() argument
3279 bs = qmp_get_root_bs(device, errp); in qmp_change_backing_file()
3288 error_propagate(errp, local_err); in qmp_change_backing_file()
3293 error_setg(errp, "image file not found"); in qmp_change_backing_file()
3298 error_setg(errp, "not allowing backing file change on an image " in qmp_change_backing_file()
3305 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_CHANGE, errp)) { in qmp_change_backing_file()
3311 error_setg(errp, "'%s' and image file are not in the same chain", in qmp_change_backing_file()
3321 if (bdrv_reopen_set_read_only(image_bs, false, errp) != 0) { in qmp_change_backing_file()
3331 error_setg_errno(errp, -ret, "Could not change backing file to '%s'", in qmp_change_backing_file()
3338 bdrv_reopen_set_read_only(image_bs, true, errp); in qmp_change_backing_file()
3346 void qmp_blockdev_add(BlockdevOptions *options, Error **errp) in qmp_blockdev_add() argument
3360 error_setg(errp, "'node-name' must be specified for the root node"); in qmp_blockdev_add()
3364 bs = bds_tree_init(qdict, errp); in qmp_blockdev_add()
3375 void qmp_blockdev_reopen(BlockdevOptionsList *reopen_list, Error **errp) in qmp_blockdev_reopen() argument
3389 error_setg(errp, "node-name not specified"); in qmp_blockdev_reopen()
3395 error_setg(errp, "Failed to find node with node-name='%s'", in qmp_blockdev_reopen()
3414 bdrv_reopen_multiple(queue, errp); in qmp_blockdev_reopen()
3421 void qmp_blockdev_del(const char *node_name, Error **errp) in qmp_blockdev_del() argument
3430 error_setg(errp, "Failed to find node with node-name='%s'", node_name); in qmp_blockdev_del()
3434 error_setg(errp, "Node %s is in use", node_name); in qmp_blockdev_del()
3438 if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_DRIVE_DEL, errp)) { in qmp_blockdev_del()
3443 error_setg(errp, "Node %s is not owned by the monitor", in qmp_blockdev_del()
3449 error_setg(errp, "Block device %s is in use", in qmp_blockdev_del()
3473 const char *node, Error **errp) in qmp_x_blockdev_change() argument
3480 parent_bs = bdrv_lookup_bs(parent, parent, errp); in qmp_x_blockdev_change()
3487 error_setg(errp, "The parameters child and node are in conflict"); in qmp_x_blockdev_change()
3489 error_setg(errp, "Either child or node must be specified"); in qmp_x_blockdev_change()
3497 error_setg(errp, "Node '%s' does not have child '%s'", in qmp_x_blockdev_change()
3501 bdrv_del_child(parent_bs, p_child, errp); in qmp_x_blockdev_change()
3507 error_setg(errp, "Node '%s' not found", node); in qmp_x_blockdev_change()
3510 bdrv_add_child(parent_bs, new_bs, errp); in qmp_x_blockdev_change()
3517 BlockJobInfoList *qmp_query_block_jobs(Error **errp) in qmp_query_block_jobs() argument
3531 value = block_job_query_locked(job, errp); in qmp_query_block_jobs()
3543 bool has_force, bool force, Error **errp) in qmp_x_blockdev_set_iothread() argument
3552 error_setg(errp, "Failed to find node with node-name='%s'", node_name); in qmp_x_blockdev_set_iothread()
3558 error_setg(errp, "Node %s is associated with a BlockBackend and could " in qmp_x_blockdev_set_iothread()
3567 error_setg(errp, "Cannot find iothread %s", iothread->u.s); in qmp_x_blockdev_set_iothread()
3576 bdrv_try_change_aio_context(bs, new_context, NULL, errp); in qmp_x_blockdev_set_iothread()