| /* | |
| * Block activation tracking for migration purpose | |
| * | |
| * SPDX-License-Identifier: GPL-2.0-or-later | |
| * | |
| * Copyright (C) 2024 Red Hat, Inc. | |
| */ | |
| #include "qemu/osdep.h" | |
| #include "block/block.h" | |
| #include "qapi/error.h" | |
| #include "migration/migration.h" | |
| #include "qemu/error-report.h" | |
| #include "trace.h" | |
| bool migration_block_activate(Error **errp) | |
| { | |
| ERRP_GUARD(); | |
| assert(bql_locked()); | |
| trace_migration_block_activation("active"); | |
| bdrv_activate_all(errp); | |
| if (*errp) { | |
| error_report_err(error_copy(*errp)); | |
| return false; | |
| } | |
| return true; | |
| } | |
| bool migration_block_inactivate(void) | |
| { | |
| int ret; | |
| assert(bql_locked()); | |
| trace_migration_block_activation("inactive"); | |
| ret = bdrv_inactivate_all(); | |
| if (ret) { | |
| error_report("%s: bdrv_inactivate_all() failed: %d", | |
| __func__, ret); | |
| return false; | |
| } | |
| return true; | |
| } |