On Tue, 02/21 15:58, Kevin Wolf wrote:
> This patch defines the permission categories that will be used by the
> new op blocker system.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> include/block/block.h | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/include/block/block.h b/include/block/block.h
> index bde5ebd..ac40c8d 100644
> --- a/include/block/block.h
> +++ b/include/block/block.h
> @@ -187,6 +187,41 @@ typedef enum BlockOpType {
> BLOCK_OP_TYPE_MAX,
> } BlockOpType;
>
> +/* Block node permission constants */
> +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.
*representing
> + *
> + * 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.
"contents doesn't" sounds weird to me, but I'm not very sure.
> + */
> + 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,
> +};
> +
> /* disk I/O throttling */
> void bdrv_init(void);
> void bdrv_init_with_whitelist(void);
> --
> 1.8.3.1
>
Fam