xref: /qemu/migration/block-active.c (revision f2ec48fefd172a8dd20cb0073087d659aca9578c)
1*8597af76SPeter Xu /*
2*8597af76SPeter Xu  * Block activation tracking for migration purpose
3*8597af76SPeter Xu  *
4*8597af76SPeter Xu  * SPDX-License-Identifier: GPL-2.0-or-later
5*8597af76SPeter Xu  *
6*8597af76SPeter Xu  * Copyright (C) 2024 Red Hat, Inc.
7*8597af76SPeter Xu  */
8*8597af76SPeter Xu #include "qemu/osdep.h"
9*8597af76SPeter Xu #include "block/block.h"
10*8597af76SPeter Xu #include "qapi/error.h"
11*8597af76SPeter Xu #include "migration/migration.h"
12*8597af76SPeter Xu #include "qemu/error-report.h"
13*8597af76SPeter Xu #include "trace.h"
14*8597af76SPeter Xu 
migration_block_activate(Error ** errp)15*8597af76SPeter Xu bool migration_block_activate(Error **errp)
16*8597af76SPeter Xu {
17*8597af76SPeter Xu     ERRP_GUARD();
18*8597af76SPeter Xu 
19*8597af76SPeter Xu     assert(bql_locked());
20*8597af76SPeter Xu 
21*8597af76SPeter Xu     trace_migration_block_activation("active");
22*8597af76SPeter Xu 
23*8597af76SPeter Xu     bdrv_activate_all(errp);
24*8597af76SPeter Xu     if (*errp) {
25*8597af76SPeter Xu         error_report_err(error_copy(*errp));
26*8597af76SPeter Xu         return false;
27*8597af76SPeter Xu     }
28*8597af76SPeter Xu 
29*8597af76SPeter Xu     return true;
30*8597af76SPeter Xu }
31*8597af76SPeter Xu 
migration_block_inactivate(void)32*8597af76SPeter Xu bool migration_block_inactivate(void)
33*8597af76SPeter Xu {
34*8597af76SPeter Xu     int ret;
35*8597af76SPeter Xu 
36*8597af76SPeter Xu     assert(bql_locked());
37*8597af76SPeter Xu 
38*8597af76SPeter Xu     trace_migration_block_activation("inactive");
39*8597af76SPeter Xu 
40*8597af76SPeter Xu     ret = bdrv_inactivate_all();
41*8597af76SPeter Xu     if (ret) {
42*8597af76SPeter Xu         error_report("%s: bdrv_inactivate_all() failed: %d",
43*8597af76SPeter Xu                      __func__, ret);
44*8597af76SPeter Xu         return false;
45*8597af76SPeter Xu     }
46*8597af76SPeter Xu 
47*8597af76SPeter Xu     return true;
48*8597af76SPeter Xu }
49