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: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH v2 7/7] block-copy: protect BlockCopyState .method fields
Date: Fri, 28 May 2021 14:52:58 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2

28.05.2021 14:01, Paolo Bonzini wrote:
On 28/05/21 12:24, Paolo Bonzini wrote:

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

     method = s->method;

This would even have to be a separate, one-line critical section...


Or atomic operation.. What I don't like that all troubles are for unused code. 
Many things may change to the moment when we actually reuse this for qemu-img 
convert.

And, qemu-img convert probably don't need this complicated logic with different 
methods. It may be better just return error if copy_range failed. What's a good 
reason for fall-back to normal write if copy-range is explicitly requested by 
user?


     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.




--
Best regards,
Vladimir



reply via email to

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