qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH for-5.0 02/31] block: Add BdrvChildRole


From: Max Reitz
Subject: [PATCH for-5.0 02/31] block: Add BdrvChildRole
Date: Wed, 27 Nov 2019 14:15:55 +0100

This enum will supplement BdrvChildClass when it comes to what role (or
combination of roles) a child takes for its parent.

Because empty enums are not allowed, let us just start with it filled.

Signed-off-by: Max Reitz <address@hidden>
---
 include/block/block.h | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/include/block/block.h b/include/block/block.h
index 38963ef203..36817d5689 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -279,6 +279,44 @@ enum {
     DEFAULT_PERM_UNCHANGED      = BLK_PERM_ALL & ~DEFAULT_PERM_PASSTHROUGH,
 };
 
+typedef enum BdrvChildRole {
+    /*
+     * If present, bdrv_replace_node() will not change the node this
+     * BdrvChild points to.
+     */
+    BDRV_CHILD_STAY_AT_NODE = (1 << 0),
+
+    /* Child stores data */
+    BDRV_CHILD_DATA         = (1 << 1),
+
+    /* Child stores metadata */
+    BDRV_CHILD_METADATA     = (1 << 2),
+
+    /* Filtered child */
+    BDRV_CHILD_FILTERED     = (1 << 3),
+
+    /* Child to COW from (backing child) */
+    BDRV_CHILD_COW          = (1 << 4),
+
+    /* Child is expected to be a protocol node */
+    BDRV_CHILD_PROTOCOL     = (1 << 5),
+
+    /* Child is expected to be a format node */
+    BDRV_CHILD_FORMAT       = (1 << 6),
+
+    /*
+     * The primary child.  For most drivers, this is the child whose
+     * filename applies best to the parent node.
+     */
+    BDRV_CHILD_PRIMARY      = (1 << 7),
+
+    /* Useful combination of flags */
+    BDRV_CHILD_IMAGE        = BDRV_CHILD_DATA
+                              | BDRV_CHILD_METADATA
+                              | BDRV_CHILD_PROTOCOL
+                              | BDRV_CHILD_PRIMARY,
+} BdrvChildRole;
+
 char *bdrv_perm_names(uint64_t perm);
 uint64_t bdrv_qapi_perm_to_blk_perm(BlockPermission qapi_perm);
 
-- 
2.23.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]