From: Tang Junhui <redacted>
quoted
More importantly,
quoted
+ while (!kthread_should_stop() && next) {
...
+ if (nk != 0 && !keys_contiguous(dc, keys[nk-1], next))
+ break;
+
+ size += KEY_SIZE(&next->key);
+ keys[nk++] = next;
+ } while ((next = bch_keybuf_next(&dc->writeback_keys)));
if the "next" key does not satisfy the contiguous condition, does this
key not write-back to the backend device?
I believe the current code is correct--- it is not written back *this
time* (since it is not contiguous), but will be written back the next
time through the loop (next is not changed).
Oh, yes, that's right. I read the wrong while{} loop.
Thanks,
Tang