On 23/02/2015 23:03, Max Reitz wrote:
> On 2015-02-11 at 22:07, Wen Congyang wrote:
>> Signed-off-by: Wen Congyang <[email protected]>
>> Signed-off-by: zhanghailiang <[email protected]>
>> Signed-off-by: Gonglei <[email protected]>
>> ---
>> block.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> I don't think this is a good idea. With this patch, every time you open
> a COW file (with a backing file) R/W, the backing file will be writable.
> I'd rather like a way to explicitly overwrite the R/W mode of the
> backing file; but by default, in my opinion, it should stay read-only.
I agree.
Perhaps blkcolo_open or colo_svm_init can take care of setting
BDRV_O_RDWR on the backing file? They could also use bdrv_reopen.
Paolo
> Max
>
>> diff --git a/block.c b/block.c
>> index 067c44b..96cf973 100644
>> --- a/block.c
>> +++ b/block.c
>> @@ -856,8 +856,8 @@ static int bdrv_inherited_flags(int flags)
>> */
>> static int bdrv_backing_flags(int flags)
>> {
>> - /* backing files always opened read-only */
>> - flags &= ~(BDRV_O_RDWR | BDRV_O_COPY_ON_READ);
>> + /* backing files are opened read-write for block replication */
>> + flags &= ~BDRV_O_COPY_ON_READ;
>> /* snapshot=on is handled on the top layer */
>> flags &= ~(BDRV_O_SNAPSHOT | BDRV_O_TEMPORARY);
>