[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 03/33] block: Add BdrvChildRole
From: |
Max Reitz |
Subject: |
Re: [PATCH v2 03/33] block: Add BdrvChildRole |
Date: |
Mon, 17 Feb 2020 15:40:55 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 11.02.20 16:41, Alberto Garcia wrote:
> On Tue 04 Feb 2020 06:08:18 PM CET, Max Reitz wrote:
>> + /* Child to COW from (backing child) */
>> + BDRV_CHILD_COW = (1 << 3),
>
> Without the comment in brackets I'm not sure that I would have
> understood that this is meant for backing files.
I put it in brackets because bs->backing isn’t always such a child (for
filters it isn’t). That’s also the reason why I prefer to stress the
COW aspect.
> This is the "child that contains the data that is not allocated in the
> parent", or something like that, right?
Hm, so I suppose the problem is that I didn’t describe in which event
the COW is to occur. (I didn’t because we only have one kind of COW in
the block layer, namely for backing chains.)
So maybe “Child from which to read all data that isn’t allocated in the
parent (backing child); such data may be copied to the parent by means
of COW or COR”?
(The problem I see with this description is that it is kind of a
tautology, because “allocation” is in turn defined by differentiating
between layers of a backing chain, i.e. this layer and that backing/COW
child we’re talking about here.)
Max
signature.asc
Description: OpenPGP digital signature
[PATCH v2 01/33] block: Add BlockDriver.is_format, Max Reitz, 2020/02/04
[PATCH v2 06/33] block: Pass BdrvChildRole to .inherit_options(), Max Reitz, 2020/02/04
[PATCH v2 07/33] block: Pass parent_is_format to .inherit_options(), Max Reitz, 2020/02/04
[PATCH v2 02/33] block: Rename BdrvChildRole to BdrvChildClass, Max Reitz, 2020/02/04