block: Relax *perms_for_storage for data children
commitf889054f031f2f01ae97bdc7579fbdf3a30e4e0e
authorMax Reitz <mreitz@redhat.com>
Wed, 13 May 2020 11:05:28 +0000 (13 13:05 +0200)
committerKevin Wolf <kwolf@redhat.com>
Mon, 18 May 2020 17:05:25 +0000 (18 19:05 +0200)
treea5a830551a476342bfcf5dc5c3ab94cc1327c865
parent6f838a4b73d9c85e498f94c28109dde0efc1cb9d
block: Relax *perms_for_storage for data children

We can be less restrictive about pure data children than those with
metadata on them, so let bdrv_default_perms_for_storage() handle
metadata children differently from pure data children.

As explained in the code, the restrictions on metadata children are
strictly stricter than those for pure data children, so in theory we
just have to distinguish between pure-data and all other storage
children (pure metadata or data+metadata).  In practice, that is not
obvious, though, so we have two independent code paths for metadata and
for data children, and data+metadata children will go through both
(without the path for data children doing anything meaningful).

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200513110544.176672-19-mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c