On Fri, Jul 1, 2016 at 4:18 PM, Andrey Ryabinin <[email protected]> wrote: > > > On 07/01/2016 05:15 PM, Dmitry Vyukov wrote: >> On Fri, Jul 1, 2016 at 4:09 PM, Joonsoo Kim <[email protected]> wrote: >>> 2016-07-01 23:03 GMT+09:00 Dmitry Vyukov <[email protected]>: > >>>>> + >>>>> + if (obj_cache == cache) >>>>> + qlist_put(to, qlink, cache->size); >>>>> + else >>>>> + qlist_put(from, qlink, cache->size); >>>> >>>> This line is wrong. If obj_cache != cache, object size != cache->size. >>>> Quarantine contains objects of different sizes. >>> >>> You're right. 11 pm is not good time to work. :/ >>> If it is fixed, the patch looks correct to you? >>> I will fix it and send v4 on next week. >> >> >> I don't see anything else wrong. But I need to see how you fix the size >> issue. >> Performance of this operation is not particularly critical, so the >> simpler the better. > > Is there any other way besides obvious: s/cache->size/obj_cache->size ?
We can remember the original bytes, then subtract num_objects_moved*cache->size from it and assign to from->bytes.

