Lines Matching +full:migration +full:- +full:compat +full:- +full:common

28 #include "block/block-common.h"
29 #include "block/block-global-state.h"
48 #define BLOCK_OPT_COMPAT_LEVEL "compat"
105 * certain callbacks that refer to data (see block.c) to their bs->file
106 * or bs->backing (whichever one exists) if the driver doesn't implement
108 * -ENOTSUP.
115 * (And this filtered child must then be bs->file or bs->backing.)
120 * If true, filtered child is bs->backing. Otherwise it's bs->file.
121 * Two internal filters use bs->backing as filtered child and has this
123 * filters in tests/unit/test-bdrv-graph-mod.c.
128 * similarly using bs->file as filtered child.
157 * - Return status 0 of .bdrv_co_block_status means that corresponding
158 * blocks are not allocated in this layer of backing-chain
159 * - For such (unallocated) blocks, read will:
160 * - fill buffer with zeros if there is no backing file
161 * - read from the backing file otherwise, where the block layer
182 * NULL-terminated list of the runtime options that can be
190 * Pointer to a NULL-terminated array of names of strong options
202 * See include/block/block-global-state.h for more information about
209 * to allow driver-specific initialization code that requires
237 /* For handling image reopen for split or non-split files. */
267 * Refreshes the bs->exact_filename field. If that is impossible,
268 * bs->exact_filename has to be left empty.
277 * QINCREF(bs->file->bs->full_open_options);
278 * qdict_put(target, "file", bs->file->bs->full_open_options);
283 * @backing_overridden is true when bs->backing seems not to be
284 * the child that would result from opening bs->backing_file.
305 * of in-flight requests, so don't waste the time if possible.
308 * timeout during job-cancel with force=true.
354 * loop is no longer in use. Called with no in-flight requests and in
355 * depth-first traversal order with parents before child nodes.
361 * can be processed again. Called with no in-flight requests and in
362 * depth-first traversal order with child nodes before parent nodes.
392 * On failure return -errno.
431 * If both conditions are met, 0 is returned. Otherwise, -errno is returned
456 * bdrv_check_perm() call. It is a no-op then.
468 * If @reopen_queue is non-NULL, don't return the currently needed
499 * I/O API functions. These functions are thread-safe.
501 * See include/block/block-io.h for more information about
578 * function pointer may be NULL or return -ENOSUP and .bdrv_co_writev()
605 * -ENOTSUP if @bs is the leaf but @src has a different BlockDriver.
623 * non-zero results. See block.h for the overall meaning of the
624 * bits. As a hint, the flags in @mode may include a bitwise-or
629 * non-NULL pnum, map, and file; in turn, the driver must return
630 * an error or set pnum to an aligned non-zero value.
638 * *pnum value for the block-status cache on protocol nodes, prior
647 * Snapshot-access API.
649 * Block-driver may provide snapshot-access API: special functions to access
652 * in generic block-layer: no serializing, no alignment, no tracked
653 * requests. So, block-driver that realizes these APIs is fully responsible
654 * for synchronization between snapshot-access API and normal IO requests.
658 * - be able to select a specific snapshot
659 * - receive the snapshot's actual length (which may differ from bs's
674 * Invalidate any cached meta-data.
692 * the disk (for example file-posix.c calls fsync()).
716 * with @exact = false, it should return -ENOTSUP.
778 * Returns 0 for completed check, -errno for internal errors.
799 return drv->bdrv_co_pwritev_compressed || in block_driver_can_compress()
800 drv->bdrv_co_pwritev_compressed_part; in block_driver_can_compress()
815 * inherent 64-bit limit.
852 * for no 32-bit limit. For now, anything larger than INT_MAX is
885 * is expected to adjust automatically. Mostly for CD-ROM drives,
935 * non-BDS parents.
942 * See include/block/block-global-state.h for more information about
952 * human reader. This could be a node-name, BlockBackend name, qdev ID or
960 * when migration is completing) and it can start/stop requesting
1017 * I/O API functions. These functions are thread-safe.
1019 * See include/block/block-io.h for more information about
1063 * (through klass->drained_*).
1065 * It is generally true if bs->quiesce_counter > 0. It may differ while the
1094 * Protected by big QEMU lock or read-only after opening. No special
1097 int open_flags; /* flags used to open the file, re-used for re-open */
1109 * long-running tasks intended to always use the same AioContext as this
1120 * therefore may or may not be equal to .backing->bs->filename.
1132 char backing_format[16]; /* if non-zero and backing_file exists */
1157 * every incoming write request as-is, including potentially that
1182 /* element of the list of monitor-owned BDS */
1219 * Generally read-only; it is written to by load_snapshot and
1241 * than one client has requested copy-on-read. Accessed with atomic
1247 * number of in-flight requests; overall and serialising.
1273 /* Lock for block-status cache RCU writers */
1275 /* Always non-NULL, but must only be dereferenced under an RCU read guard */
1290 * - sync=full: Set backing BDS to NULL.
1291 * - sync=top: Use source's backing BDS.
1292 * - sync=none: Use source as the backing BDS.
1316 * Common functions that are neither I/O nor Global State.
1318 * See include/block/block-common.h for more information about
1319 * the Common API.
1324 return child ? child->bs : NULL; in child_bs()