[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 02/41] block: Add op blocker permission constant
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [RFC PATCH 02/41] block: Add op blocker permission constants |
Date: |
Mon, 13 Feb 2017 18:22:24 +0100 |
This patch defines the permission categories that will be used by the
new op blocker system.
Signed-off-by: Kevin Wolf <address@hidden>
---
include/block/block_int.h | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 2d92d7e..6a37b06 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -414,6 +414,40 @@ struct BdrvChildRole {
extern const BdrvChildRole child_file;
extern const BdrvChildRole child_format;
+enum {
+ /**
+ * A user that has the "permission" of consistent reads is guaranteed that
+ * their view of the contents of the block device is complete and
+ * self-consistent, repesenting the contents of a disk at a specific point.
+ *
+ * For most block devices (including their backing files) this is true, but
+ * the property cannot be maintained in a few situations like for
+ * intermediate nodes of a commit block job.
+ */
+ BLK_PERM_CONSISTENT_READ = 0x01,
+
+ /** This permission is required to change the visible disk contents. */
+ BLK_PERM_WRITE = 0x02,
+
+ /**
+ * This permission (which is weaker than BLK_PERM_WRITE) is both enough and
+ * required for writes to the block node when the caller promises that
+ * this visible disk contents doesn't change.
+ */
+ BLK_PERM_WRITE_UNCHANGED = 0x04,
+
+ /** This permission is required to change the size of a block node. */
+ BLK_PERM_RESIZE = 0x08,
+
+ /**
+ * This permission is required to change the node that this BdrvChild
+ * points to.
+ */
+ BLK_PERM_GRAPH_MOD = 0x10,
+
+ BLK_PERM_ALL = 0x1f,
+};
+
struct BdrvChild {
BlockDriverState *bs;
char *name;
--
1.8.3.1
- [Qemu-devel] [RFC PATCH 00/41] New op blocker system, Kevin Wolf, 2017/02/13
- [Qemu-devel] [RFC PATCH 02/41] block: Add op blocker permission constants,
Kevin Wolf <=
- [Qemu-devel] [RFC PATCH 03/41] block: Add Error argument to bdrv_attach_child(), Kevin Wolf, 2017/02/13
- [Qemu-devel] [RFC PATCH 01/41] block: Attach bs->file only during .bdrv_open(), Kevin Wolf, 2017/02/13
- [Qemu-devel] [RFC PATCH 04/41] block: Let callers request permissions when attaching a child node, Kevin Wolf, 2017/02/13
- [Qemu-devel] [RFC PATCH 05/41] tests: Use opened block node for block job tests, Kevin Wolf, 2017/02/13
- [Qemu-devel] [RFC PATCH 07/41] block: Default .bdrv_child_perm() for filter drivers, Kevin Wolf, 2017/02/13
- [Qemu-devel] [RFC PATCH 09/41] block: Default .bdrv_child_perm() for format drivers, Kevin Wolf, 2017/02/13