On Tue, Oct 24, 2017 at 6:21 PM, wrote:
>>> static void bch_btree_gc_finish(struct cache_set *c)
>> available should be removed and this function should return 0.
> I have changed this function to a void type, so nothing need return.
Sorry, I misread that. :)
>>> + stats.in_use
From: Tang Junhui
Thanks to Mike and Coly's comments.
>> + if(ca->set->avail_nbuckets > 0) {
>> + ca->set->avail_nbuckets--;
>> + bch_update_bucket_in_use(ca->set);
>> + }
>> +
>
> I am not sure this needs an atomic
On 2017/10/25 上午2:50, Michael Lyle wrote:
> Hi---
>
> On 10/24/2017 01:57 AM, tang.jun...@zte.com.cn wrote:
>> From: Tang Junhui
>>
>> bucket_in_use is updated in gc thread which triggered by invalidating or
>> writing sectors_to_gc dirty data, It's a long interval. Therefore, when we
>> use it t
Hi---
On 10/24/2017 01:57 AM, tang.jun...@zte.com.cn wrote:
> From: Tang Junhui
>
> bucket_in_use is updated in gc thread which triggered by invalidating or
> writing sectors_to_gc dirty data, It's a long interval. Therefore, when we
> use it to compare with the threshold, it is often not timely
On 2017/10/24 下午4:57, tang.jun...@zte.com.cn wrote:
> From: Tang Junhui
>
> bucket_in_use is updated in gc thread which triggered by invalidating or
> writing sectors_to_gc dirty data, It's a long interval. Therefore, when we
> use it to compare with the threshold, it is often not timely, which l
From: Tang Junhui
bucket_in_use is updated in gc thread which triggered by invalidating or
writing sectors_to_gc dirty data, It's a long interval. Therefore, when we
use it to compare with the threshold, it is often not timely, which leads
to inaccurate judgment and often results in bucket deplet