| /openbmc/qemu/block/ |
| H A D | filter-compress.c | 31 static int compress_open(BlockDriverState *bs, QDict *options, int flags, in compress_open() argument 34 int ret = bdrv_open_file_child(NULL, options, "file", bs, errp); in compress_open() 41 if (!bs->file->bs->drv || !block_driver_can_compress(bs->file->bs->drv)) { in compress_open() 44 bdrv_get_format_name(bs->file->bs) ?: "(no format)"); in compress_open() 49 bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED | in compress_open() 50 (BDRV_REQ_FUA & bs->file->bs->supported_write_flags); in compress_open() 52 bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED | in compress_open() 54 bs->file->bs->supported_zero_flags); in compress_open() 61 compress_co_getlength(BlockDriverState *bs) in compress_co_getlength() argument 63 return bdrv_co_getlength(bs->file->bs); in compress_co_getlength() [all …]
|
| H A D | io.c | 50 bdrv_parent_cb_resize(BlockDriverState *bs); 52 static int coroutine_fn bdrv_co_do_pwrite_zeroes(BlockDriverState *bs, 56 bdrv_parent_drained_begin(BlockDriverState *bs, BdrvChild *ignore) in bdrv_parent_drained_begin() argument 62 QLIST_FOREACH_SAFE(c, &bs->parents, next_parent, next) { in bdrv_parent_drained_begin() 83 bdrv_parent_drained_end(BlockDriverState *bs, BdrvChild *ignore) in bdrv_parent_drained_end() argument 89 QLIST_FOREACH(c, &bs->parents, next_parent) { in bdrv_parent_drained_end() 108 bdrv_parent_drained_poll(BlockDriverState *bs, BdrvChild *ignore, in bdrv_parent_drained_poll() argument 116 QLIST_FOREACH_SAFE(c, &bs->parents, next_parent, next) { in bdrv_parent_drained_poll() 156 BlockDriverState *bs; member 164 s->bs->bl = s->old_bl; in bdrv_refresh_limits_abort() [all …]
|
| H A D | raw-format.c | 99 raw_apply_options(BlockDriverState *bs, BDRVRawState *s, uint64_t offset, in raw_apply_options() argument 104 real_size = bdrv_getlength(bs->file->bs); in raw_apply_options() 152 assert(reopen_state->bs != NULL); in raw_reopen_prepare() 162 ret = raw_apply_options(reopen_state->bs, reopen_state->opaque, in raw_reopen_prepare() 174 BDRVRawState *s = state->bs->opaque; in raw_reopen_commit() 189 static inline int raw_adjust_offset(BlockDriverState *bs, int64_t *offset, in raw_adjust_offset() argument 192 BDRVRawState *s = bs->opaque; in raw_adjust_offset() 210 raw_co_preadv(BlockDriverState *bs, int64_t offset, int64_t bytes, in raw_co_preadv() argument 215 ret = raw_adjust_offset(bs, &offset, bytes, false); in raw_co_preadv() 220 BLKDBG_CO_EVENT(bs->file, BLKDBG_READ_AIO); in raw_co_preadv() [all …]
|
| H A D | snapshot.c | 53 int bdrv_snapshot_find(BlockDriverState *bs, QEMUSnapshotInfo *sn_info, in bdrv_snapshot_find() argument 62 nb_sns = bdrv_snapshot_list(bs, &sn_tab); in bdrv_snapshot_find() 98 bool bdrv_snapshot_find_by_id_and_name(BlockDriverState *bs, in bdrv_snapshot_find_by_id_and_name() argument 111 nb_sns = bdrv_snapshot_list(bs, &sn_tab); in bdrv_snapshot_find_by_id_and_name() 158 bdrv_snapshot_fallback_child(BlockDriverState *bs) in bdrv_snapshot_fallback_child() argument 160 BdrvChild *fallback = bdrv_primary_child(bs); in bdrv_snapshot_fallback_child() 176 QLIST_FOREACH(child, &bs->children, next) { in bdrv_snapshot_fallback_child() 189 bdrv_snapshot_fallback(BlockDriverState *bs) in bdrv_snapshot_fallback() argument 192 return child_bs(bdrv_snapshot_fallback_child(bs)); in bdrv_snapshot_fallback() 195 int bdrv_can_snapshot(BlockDriverState *bs) in bdrv_can_snapshot() argument [all …]
|
| H A D | preallocate.c | 83 static int preallocate_drop_resize(BlockDriverState *bs, Error **errp); 140 static int preallocate_open(BlockDriverState *bs, QDict *options, int flags, in preallocate_open() argument 143 BDRVPreallocateState *s = bs->opaque; in preallocate_open() 153 s->drop_resize_bh = qemu_bh_new(preallocate_drop_resize_bh, bs); in preallocate_open() 155 ret = bdrv_open_file_child(NULL, options, "file", bs, errp); in preallocate_open() 162 if (!preallocate_absorb_opts(&s->opts, options, bs->file->bs, errp)) { in preallocate_open() 166 bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED | in preallocate_open() 167 (BDRV_REQ_FUA & bs->file->bs->supported_write_flags); in preallocate_open() 169 bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED | in preallocate_open() 171 bs->file->bs->supported_zero_flags); in preallocate_open() [all …]
|
| H A D | throttle.c | 76 static int throttle_open(BlockDriverState *bs, QDict *options, in throttle_open() argument 79 ThrottleGroupMember *tgm = bs->opaque; in throttle_open() 83 ret = bdrv_open_file_child(NULL, options, "file", bs, errp); in throttle_open() 90 bs->supported_write_flags = bs->file->bs->supported_write_flags | in throttle_open() 92 bs->supported_zero_flags = bs->file->bs->supported_zero_flags | in throttle_open() 98 throttle_group_register_tgm(tgm, group, bdrv_get_aio_context(bs)); in throttle_open() 105 static void throttle_close(BlockDriverState *bs) in throttle_close() argument 107 ThrottleGroupMember *tgm = bs->opaque; in throttle_close() 113 throttle_co_getlength(BlockDriverState *bs) in throttle_co_getlength() argument 115 return bdrv_co_getlength(bs->file->bs); in throttle_co_getlength() [all …]
|
| H A D | dirty-bitmap.c | 34 BlockDriverState *bs; member 64 static inline void bdrv_dirty_bitmaps_lock(BlockDriverState *bs) in bdrv_dirty_bitmaps_lock() argument 66 qemu_mutex_lock(&bs->dirty_bitmap_mutex); in bdrv_dirty_bitmaps_lock() 69 static inline void bdrv_dirty_bitmaps_unlock(BlockDriverState *bs) in bdrv_dirty_bitmaps_unlock() argument 71 qemu_mutex_unlock(&bs->dirty_bitmap_mutex); in bdrv_dirty_bitmaps_unlock() 76 bdrv_dirty_bitmaps_lock(bitmap->bs); in bdrv_dirty_bitmap_lock() 81 bdrv_dirty_bitmaps_unlock(bitmap->bs); in bdrv_dirty_bitmap_unlock() 85 BdrvDirtyBitmap *bdrv_find_dirty_bitmap(BlockDriverState *bs, const char *name) in bdrv_find_dirty_bitmap() argument 90 QLIST_FOREACH(bm, &bs->dirty_bitmaps, list) { in bdrv_find_dirty_bitmap() 99 BdrvDirtyBitmap *bdrv_create_dirty_bitmap(BlockDriverState *bs, in bdrv_create_dirty_bitmap() argument [all …]
|
| H A D | replication.c | 82 static int replication_open(BlockDriverState *bs, QDict *options, in replication_open() argument 86 BDRVReplicationState *s = bs->opaque; in replication_open() 91 ret = bdrv_open_file_child(NULL, options, "file", bs, errp); in replication_open() 130 s->rs = replication_new(bs, &replication_ops); in replication_open() 139 static void replication_close(BlockDriverState *bs) in replication_close() argument 141 BDRVReplicationState *s = bs->opaque; in replication_close() 161 static void replication_child_perm(BlockDriverState *bs, BdrvChild *c, in replication_child_perm() argument 173 if ((bs->open_flags & (BDRV_O_INACTIVE | BDRV_O_RDWR)) == BDRV_O_RDWR) { in replication_child_perm() 182 replication_co_getlength(BlockDriverState *bs) in replication_co_getlength() argument 184 return bdrv_co_getlength(bs->file->bs); in replication_co_getlength() [all …]
|
| H A D | copy-on-read.c | 39 cor_open(BlockDriverState *bs, QDict *options, int flags, Error **errp) in cor_open() argument 42 BDRVStateCOR *state = bs->opaque; in cor_open() 49 ret = bdrv_open_file_child(NULL, options, "file", bs, errp); in cor_open() 56 bs->supported_read_flags = BDRV_REQ_PREFETCH; in cor_open() 58 bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED | in cor_open() 59 (BDRV_REQ_FUA & bs->file->bs->supported_write_flags); in cor_open() 61 bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED | in cor_open() 63 bs->file->bs->supported_zero_flags); in cor_open() 84 if (bdrv_freeze_backing_chain(bs, bottom_bs, errp) < 0) { in cor_open() 111 static void cor_child_perm(BlockDriverState *bs, BdrvChild *c, in cor_child_perm() argument [all …]
|
| H A D | blkreplay.c | 24 static int blkreplay_open(BlockDriverState *bs, QDict *options, int flags, in blkreplay_open() argument 30 ret = bdrv_open_file_child(NULL, options, "image", bs, errp); in blkreplay_open() 35 bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED; in blkreplay_open() 36 bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED; in blkreplay_open() 44 blkreplay_co_getlength(BlockDriverState *bs) in blkreplay_co_getlength() argument 46 return bdrv_co_getlength(bs->file->bs); in blkreplay_co_getlength() 62 static void block_request_create(uint64_t reqid, BlockDriverState *bs, in block_request_create() argument 68 .bh = aio_bh_new(bdrv_get_aio_context(bs), blkreplay_bh_cb, req), in block_request_create() 74 blkreplay_co_preadv(BlockDriverState *bs, int64_t offset, int64_t bytes, in blkreplay_co_preadv() argument 78 int ret = bdrv_co_preadv(bs->file, offset, bytes, qiov, flags); in blkreplay_co_preadv() [all …]
|
| H A D | snapshot-access.c | 30 snapshot_access_co_preadv_part(BlockDriverState *bs, in snapshot_access_co_preadv_part() argument 39 return bdrv_co_preadv_snapshot(bs->file, offset, bytes, qiov, qiov_offset); in snapshot_access_co_preadv_part() 43 snapshot_access_co_block_status(BlockDriverState *bs, in snapshot_access_co_block_status() argument 48 return bdrv_co_snapshot_block_status(bs->file->bs, mode, offset, in snapshot_access_co_block_status() 53 snapshot_access_co_pdiscard(BlockDriverState *bs, int64_t offset, int64_t bytes) in snapshot_access_co_pdiscard() argument 55 return bdrv_co_pdiscard_snapshot(bs->file->bs, offset, bytes); in snapshot_access_co_pdiscard() 59 snapshot_access_co_pwrite_zeroes(BlockDriverState *bs, in snapshot_access_co_pwrite_zeroes() argument 67 snapshot_access_co_pwritev_part(BlockDriverState *bs, in snapshot_access_co_pwritev_part() argument 76 static void GRAPH_RDLOCK snapshot_access_refresh_filename(BlockDriverState *bs) in snapshot_access_refresh_filename() argument 78 pstrcpy(bs->exact_filename, sizeof(bs->exact_filename), in snapshot_access_refresh_filename() [all …]
|
| H A D | blkverify.c | 28 BlockDriverState *bs; member 112 static int blkverify_open(BlockDriverState *bs, QDict *options, int flags, in blkverify_open() argument 115 BDRVBlkverifyState *s = bs->opaque; in blkverify_open() 127 bs, errp); in blkverify_open() 134 "test", bs, &child_of_bds, BDRV_CHILD_DATA, in blkverify_open() 141 bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED; in blkverify_open() 142 bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED; in blkverify_open() 150 static void blkverify_close(BlockDriverState *bs) in blkverify_close() argument 152 BDRVBlkverifyState *s = bs->opaque; in blkverify_close() 155 bdrv_unref_child(bs, s->test_file); in blkverify_close() [all …]
|
| H A D | copy-before-write.c | 84 cbw_co_preadv(BlockDriverState *bs, int64_t offset, int64_t bytes, in cbw_co_preadv() argument 87 return bdrv_co_preadv(bs->file, offset, bytes, qiov, flags); in cbw_co_preadv() 92 BlockDriverState *bs = opaque; in block_copy_cb() local 94 bdrv_dec_in_flight(bs); in block_copy_cb() 106 static coroutine_fn int cbw_do_copy_before_write(BlockDriverState *bs, in cbw_do_copy_before_write() argument 109 BDRVCopyBeforeWriteState *s = bs->opaque; in cbw_do_copy_before_write() 132 bdrv_inc_in_flight(bs); in cbw_do_copy_before_write() 134 block_copy_cb, bs); in cbw_do_copy_before_write() 155 cbw_co_pdiscard(BlockDriverState *bs, int64_t offset, int64_t bytes) in cbw_co_pdiscard() argument 157 int ret = cbw_do_copy_before_write(bs, offset, bytes, 0); in cbw_co_pdiscard() [all …]
|
| H A D | null.c | 80 static int null_open(BlockDriverState *bs, QDict *options, int flags, in null_open() argument 84 BDRVNullState *s = bs->opaque; in null_open() 99 bs->supported_write_flags = BDRV_REQ_FUA; in null_open() 103 static int64_t coroutine_fn null_co_getlength(BlockDriverState *bs) in null_co_getlength() argument 105 BDRVNullState *s = bs->opaque; in null_co_getlength() 109 static coroutine_fn int null_co_common(BlockDriverState *bs) in null_co_common() argument 111 BDRVNullState *s = bs->opaque; in null_co_common() 119 static coroutine_fn int null_co_preadv(BlockDriverState *bs, in null_co_preadv() argument 124 BDRVNullState *s = bs->opaque; in null_co_preadv() 130 return null_co_common(bs); in null_co_preadv() [all …]
|
| H A D | write-threshold.c | 21 uint64_t bdrv_write_threshold_get(const BlockDriverState *bs) in bdrv_write_threshold_get() argument 23 return bs->write_threshold_offset; in bdrv_write_threshold_get() 26 void bdrv_write_threshold_set(BlockDriverState *bs, uint64_t threshold_bytes) in bdrv_write_threshold_set() argument 28 bs->write_threshold_offset = threshold_bytes; in bdrv_write_threshold_set() 35 BlockDriverState *bs; in qmp_block_set_write_threshold() local 37 bs = bdrv_find_node(node_name); in qmp_block_set_write_threshold() 38 if (!bs) { in qmp_block_set_write_threshold() 43 bdrv_write_threshold_set(bs, threshold_bytes); in qmp_block_set_write_threshold() 46 void bdrv_write_threshold_check_write(BlockDriverState *bs, int64_t offset, in bdrv_write_threshold_check_write() argument 50 uint64_t wtr = bs->write_threshold_offset; in bdrv_write_threshold_check_write() [all …]
|
| H A D | qcow2-cluster.c | 35 int coroutine_fn qcow2_shrink_l1_table(BlockDriverState *bs, in qcow2_shrink_l1_table() argument 38 BDRVQcow2State *s = bs->opaque; in qcow2_shrink_l1_table() 51 BLKDBG_CO_EVENT(bs->file, BLKDBG_L1_SHRINK_WRITE_TABLE); in qcow2_shrink_l1_table() 52 ret = bdrv_co_pwrite_zeroes(bs->file, in qcow2_shrink_l1_table() 59 ret = bdrv_co_flush(bs->file->bs); in qcow2_shrink_l1_table() 64 BLKDBG_CO_EVENT(bs->file, BLKDBG_L1_SHRINK_FREE_L2_CLUSTERS); in qcow2_shrink_l1_table() 69 qcow2_free_clusters(bs, s->l1_table[i] & L1E_OFFSET_MASK, in qcow2_shrink_l1_table() 86 int qcow2_grow_l1_table(BlockDriverState *bs, uint64_t min_size, in qcow2_grow_l1_table() argument 89 BDRVQcow2State *s = bs->opaque; in qcow2_grow_l1_table() 130 new_l1_table = qemu_try_blockalign(bs->file->bs, new_l1_size2); in qcow2_grow_l1_table() [all …]
|
| H A D | amend.c | 41 BlockDriverState *bs; member 52 ret = s->bs->drv->bdrv_co_amend(s->bs, s->opts, s->force, errp); in blockdev_amend_run() 61 if (s->bs->drv->bdrv_amend_pre_run) { in blockdev_amend_pre_run() 62 return s->bs->drv->bdrv_amend_pre_run(s->bs, errp); in blockdev_amend_pre_run() 73 if (s->bs->drv->bdrv_amend_clean) { in blockdev_amend_free() 74 s->bs->drv->bdrv_amend_clean(s->bs); in blockdev_amend_free() 78 bdrv_unref(s->bs); in blockdev_amend_free() 98 BlockDriverState *bs; in qmp_x_blockdev_amend() local 102 bs = bdrv_lookup_bs(NULL, node_name, errp); in qmp_x_blockdev_amend() 103 if (!bs) { in qmp_x_blockdev_amend() [all …]
|
| H A D | qcow2.c | 78 qcow2_co_preadv_compressed(BlockDriverState *bs, 103 BlockDriverState *bs = opaque; in qcow2_crypto_hdr_read_func() local 104 BDRVQcow2State *s = bs->opaque; in qcow2_crypto_hdr_read_func() 112 ret = bdrv_pread(bs->file, s->crypto_header.offset + offset, buflen, buf, in qcow2_crypto_hdr_read_func() 126 BlockDriverState *bs = opaque; in qcow2_crypto_hdr_init_func() local 127 BDRVQcow2State *s = bs->opaque; in qcow2_crypto_hdr_init_func() 131 ret = qcow2_alloc_clusters(bs, headerlen); in qcow2_crypto_hdr_init_func() 148 assert(qcow2_pre_write_overlap_check(bs, 0, ret, clusterlen, false) == 0); in qcow2_crypto_hdr_init_func() 149 ret = bdrv_co_pwrite_zeroes(bs->file, ret, clusterlen, 0); in qcow2_crypto_hdr_init_func() 165 BlockDriverState *bs = opaque; in qcow2_crypto_hdr_write_func() local [all …]
|
| /openbmc/qemu/include/block/ |
| H A D | block-io.h | 80 int64_t coroutine_fn GRAPH_RDLOCK bdrv_co_nb_sectors(BlockDriverState *bs); 81 int64_t coroutine_mixed_fn bdrv_nb_sectors(BlockDriverState *bs); 83 int64_t coroutine_fn GRAPH_RDLOCK bdrv_co_getlength(BlockDriverState *bs); 84 int64_t co_wrapper_mixed_bdrv_rdlock bdrv_getlength(BlockDriverState *bs); 87 bdrv_co_get_allocated_file_size(BlockDriverState *bs); 90 bdrv_get_allocated_file_size(BlockDriverState *bs); 96 bdrv_co_delete_file(BlockDriverState *bs, Error **errp); 99 bdrv_co_delete_file_noerr(BlockDriverState *bs); 107 bdrv_co_ioctl(BlockDriverState *bs, int req, void *buf); 110 int coroutine_fn GRAPH_RDLOCK bdrv_co_flush(BlockDriverState *bs); [all …]
|
| H A D | block_int-common.h | 77 BlockDriverState *bs; member 213 BlockDriverState *bs, Error **errp); 218 void GRAPH_RDLOCK_PTR (*bdrv_amend_clean)(BlockDriverState *bs); 226 BlockDriverState *bs, BlockDriverState *to_replace); 249 BlockDriverState *bs, QDict *options, int flags, Error **errp); 251 void GRAPH_UNLOCKED_PTR (*bdrv_close)(BlockDriverState *bs); 260 BlockDriverState *bs, QemuOpts *opts, 264 int GRAPH_RDLOCK_PTR (*bdrv_make_empty)(BlockDriverState *bs); 270 void GRAPH_RDLOCK_PTR (*bdrv_refresh_filename)(BlockDriverState *bs); 294 BlockDriverState *bs, QDict *target, bool backing_overridden); [all …]
|
| H A D | block-global-state.h | 80 bdrv_insert_node(BlockDriverState *bs, QDict *node_options, int flags, 82 int bdrv_drop_filter(BlockDriverState *bs, Error **errp); 106 bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd, 109 int bdrv_open_backing_file(BlockDriverState *bs, QDict *parent_options, 127 bdrv_reopen_queue(BlockReopenQueue *bs_queue, BlockDriverState *bs, 132 int bdrv_reopen(BlockDriverState *bs, QDict *opts, bool keep_old_opts, 134 int bdrv_reopen_set_read_only(BlockDriverState *bs, bool read_only, 136 BlockDriverState *bdrv_find_backing_image(BlockDriverState *bs, 138 void GRAPH_RDLOCK bdrv_refresh_filename(BlockDriverState *bs); 141 bdrv_refresh_limits(BlockDriverState *bs, Transaction *tran, Error **errp); [all …]
|
| H A D | block_int-io.h | 41 BlockDriverState *bs, unsigned int mode, int64_t offset, 43 int coroutine_fn GRAPH_RDLOCK bdrv_co_pdiscard_snapshot(BlockDriverState *bs, 82 BdrvTrackedRequest *coroutine_fn bdrv_co_get_self_request(BlockDriverState *bs); 100 void bdrv_wakeup(BlockDriverState *bs); 102 const char * GRAPH_RDLOCK bdrv_get_parent_name(const BlockDriverState *bs); 106 void bdrv_set_dirty(BlockDriverState *bs, int64_t offset, int64_t bytes); 113 void bdrv_inc_in_flight(BlockDriverState *bs); 114 void bdrv_dec_in_flight(BlockDriverState *bs); 128 bdrv_co_refresh_total_sectors(BlockDriverState *bs, int64_t hint); 131 bdrv_refresh_total_sectors(BlockDriverState *bs, int64_t hint); [all …]
|
| /openbmc/qemu/ |
| H A D | block.c | 92 static bool bdrv_recurse_has_child(BlockDriverState *bs, 107 static bool bdrv_backing_overridden(BlockDriverState *bs); 110 bdrv_change_aio_context(BlockDriverState *bs, AioContext *ctx, 136 size_t bdrv_opt_mem_align(BlockDriverState *bs) in bdrv_opt_mem_align() argument 138 if (!bs || !bs->drv) { in bdrv_opt_mem_align() 144 return bs->bl.opt_mem_alignment; in bdrv_opt_mem_align() 147 size_t bdrv_min_mem_align(BlockDriverState *bs) in bdrv_min_mem_align() argument 149 if (!bs || !bs->drv) { in bdrv_min_mem_align() 155 return bs->bl.min_mem_alignment; in bdrv_min_mem_align() 277 bool bdrv_is_read_only(BlockDriverState *bs) in bdrv_is_read_only() argument [all …]
|
| /openbmc/qemu/tests/unit/ |
| H A D | test-write-threshold.c | 17 BlockDriverState bs; in test_threshold_not_trigger() local 19 memset(&bs, 0, sizeof(bs)); in test_threshold_not_trigger() 21 bdrv_write_threshold_set(&bs, threshold); in test_threshold_not_trigger() 22 bdrv_write_threshold_check_write(&bs, 1024, 1024); in test_threshold_not_trigger() 23 g_assert_cmpuint(bdrv_write_threshold_get(&bs), ==, threshold); in test_threshold_not_trigger() 30 BlockDriverState bs; in test_threshold_trigger() local 32 memset(&bs, 0, sizeof(bs)); in test_threshold_trigger() 34 bdrv_write_threshold_set(&bs, threshold); in test_threshold_trigger() 35 bdrv_write_threshold_check_write(&bs, threshold - 1024, 2 * 1024); in test_threshold_trigger() 36 g_assert_cmpuint(bdrv_write_threshold_get(&bs), ==, 0); in test_threshold_trigger()
|
| /openbmc/qemu/block/monitor/ |
| H A D | bitmap-qmp-cmds.c | 58 BlockDriverState *bs; in block_dirty_bitmap_lookup() local 71 bs = bdrv_lookup_bs(node, node, NULL); in block_dirty_bitmap_lookup() 72 if (!bs) { in block_dirty_bitmap_lookup() 77 bitmap = bdrv_find_dirty_bitmap(bs, name); in block_dirty_bitmap_lookup() 84 *pbs = bs; in block_dirty_bitmap_lookup() 96 BlockDriverState *bs; in qmp_block_dirty_bitmap_add() local 104 bs = bdrv_lookup_bs(node, node, errp); in qmp_block_dirty_bitmap_add() 105 if (!bs) { in qmp_block_dirty_bitmap_add() 117 granularity = bdrv_get_default_bitmap_granularity(bs); in qmp_block_dirty_bitmap_add() 129 !bdrv_can_store_new_dirty_bitmap(bs, name, granularity, errp)) in qmp_block_dirty_bitmap_add() [all …]
|