Few questions on bcache internals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

I'm trying to get familiar with the bcache internals. I went through
this detailed write-up [1] and
looked in to the code found in stable Linux kernel release (not the
latest bcache code) as well.

I have few questions on the topic.

Here is my abstract model on how bcache work.

- format the caching device and the backing device with its own bucket
based file system (bcacheFS)
- exposes a virtual block device to the applications (/dev/bcache0)
- the data is organized as buckets, indexed by b+tree structures and
auxilary search structures.
- when a request comes in, search the b+tree based on <inode:offset>
and try finding the data
on caching device, else send the request to backing device.


1. Why bcache refers to inodes ? The block driver layer does not have
an idea about the file system layed on top of it. (ext4). Is this
inode refers to device file? As per my
understanding the block layer gets bio_structure, it does not have a
notion of inodes...

2. How the cache eviction work. ? for an example in processor caches
we evict the cache lines
within a set in a set associative cache using LRU/etc. How does
eviction happens in bcache/policy?

3. Can i use any file system in backing device other than bcacheFS. ?
My abstract model on bcache says NO.

I'm new to Linux driver programming. so I might be missing few trivial
details and hence the confusion..
appreciate if someone can shed some light on the above questions...

[1] bcache.evilpiepirate.org/BcacheGuide

thanks
Pradeep
--
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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux