qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields


From: Paolo Bonzini
Subject: Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields
Date: Fri, 28 May 2021 12:24:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1

On 26/05/21 19:18, Vladimir Sementsov-Ogievskiy wrote:

It's actually the original idea of block_copy_do_copy() function: do only simple copy, don't interact with the state. It's a kind of wrapper on top of bdrv_co<io functions>.

So, actually updating s->use_copy_range here was a bad idea.

It's still more complicated, because you need to add some kind of

        method = s->method;
        ret = block_copy_do_copy(..., method);
        if (ret < 0 && method <= COPY_RANGE_SMALL) {
            method = COPY_RANGE_READ_WRITE;
            ret = block_copy_do_copy(..., method);
        }
        lock();
        if (method == s->method) {
            /* compute new method */
        }

which makes it more complicated than this patch IMO. But yeah at least it's a viable alternative to the atomics.

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]