Tang-- On 11/01/2017 08:08 PM, tang.junhui@xxxxxxxxxx wrote: > From: Tang Junhui <tang.junhui@xxxxxxxxxx> > > Journal bucket is a circular buffer, the bucket > can be like YYYNNNYY, which means the first valid journal in > the 7th bucket, and the latest valid journal in third bucket, in > this case, if we do not try we the zero index first, We > may get a valid journal in the 7th bucket, then we call > find_next_bit(bitmap,ca->sb.njournal_buckets, l + 1) to get the > first invalid bucket after the 7th bucket, because all these > buckets is valid, so no bit 1 in bitmap, thus find_next_bit() > function would return with ca->sb.njournal_buckets (8). So, after > that, bcache only read journal in 7th and 8the bucket, > the first to the third buckets are lost. > > So, it is important to let developer know that, we need to try > the zero index at first in the hash-search, and avoid any breaks > in future's code modification. > > Signed-off-by: Tang Junhui <tang.junhui@xxxxxxxxxx> Fixed a small whitespace error at end of line. Reviewed-by: Michael Lyle <mlyle@xxxxxxxx> Thank you for making this much more clear. Mike