On 11/30/06, Jens Wilke <jens.wilke@xxxxxxxxxx> wrote:
- You don't keep track of I/O on the fly to the cache that is mapped directly in cache_hit(). How do you make sure that this I/O is completed before you replace a cache block?
The previous I/O from cache hit and the later I/O for cache replacement should be queued in order on the cache block device - is this a safe assumption?
- The cache block index is hashed, this means the cache data blocks are not clustered. I don't think you can solve this problem with a proper hash function. Perhaps you should consider a (B-)Tree structure for that.
The current hash algorithm does clustering to some extent by mapping consecutive blocks from the source device to consecutive blocks on the cache device. But I agree that more sophisticated algorithms can be studied. Thanks a lot for the suggestions. I will try to incorporate them in the next patch. - Ming -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel