[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
- Re: [PATCH v2 6/7] block-copy: atomic .cancelled and .finished fields in BlockCopyCallState, (continued)
[PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Emanuele Giuseppe Esposito, 2021/05/18
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Vladimir Sementsov-Ogievskiy, 2021/05/21
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Emanuele Giuseppe Esposito, 2021/05/25
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Vladimir Sementsov-Ogievskiy, 2021/05/25
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Paolo Bonzini, 2021/05/26
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Vladimir Sementsov-Ogievskiy, 2021/05/26
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields,
Paolo Bonzini <=
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Paolo Bonzini, 2021/05/28
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Vladimir Sementsov-Ogievskiy, 2021/05/28
- Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields, Vladimir Sementsov-Ogievskiy, 2021/05/28
Re: [PATCH v2 0/7] block-copy: protect block-copy internal structures, Vladimir Sementsov-Ogievskiy, 2021/05/20
Re: [PATCH v2 0/7] block-copy: protect block-copy internal structures, Stefan Hajnoczi, 2021/05/27