Hi Kent, thanks for reply. i read the document in the code. just to make sure i understand correctly, the stale key nodes are produced by invalidation (replacement) of the buckets they reside on, right? in another word, the stale key nodes might be the recently evict out data? Thanks, Sheng On Mon, Jul 8, 2013 at 5:48 PM, Kent Overstreet <kmo@xxxxxxxxxxxxx> wrote: > On Mon, Jul 08, 2013 at 09:44:41AM -0400, sheng qiu wrote: >> Hi Kent, >> >> Thanks a lot for your reply. >> >> Then i have a question about the bucket invalidation. when bcache >> choose to replace a bucket, will the keys that reside on that bucket >> still be in the btree? since you do not have information about which >> keys reside on the bucket, how do you update the btree? >> >> i can think out two ways, one is you periodically scan the btree nodes >> and delete the stale nodes, the other way is when you get a cache hit >> on stale nodes, then you delete it at that moment. How bcache does >> this? Can you tell me the functions involve for these operations? i am >> interested in this part of codes. > > This is documented in the code - start here: > http://evilpiepirate.org/git/linux-bcache.git/tree/drivers/md/bcache/bcache.h?h=bcache-dev -- Sheng Qiu Texas A & M University Room 332B Wisenbaker email: herbert1984106@xxxxxxxxx College Station, TX 77843-3259 -- To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html