Multi-Level Caching

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

 



Hi,
I know that bcache doesn't natively support multi-level caching but I
was playing with it and found this interesting "workaround":
  make-bcache -B /dev/vdb -C /dev/vdc
the above command will generate a /dev/bcache0 device that we can now
use as backing (or cached) device:
  make-bcache -B /dev/bcache0 -C /dev/vdd
This will make the kernel panic because the driver is trying to create
a duplicated "bcache" folder under /sys/block/bcache0/ .
So, simply patching the code inside register_bdev to create a folder
"bcache2" if "bcache" already exists does the trick.
Now I have:
vdb                       252:16   0    5G  0 disk
└─bcache0                 251:0    0    5G  0 disk
  └─bcache1               251:128  0    5G  0 disk /mnt/bcache1
vdc                       252:32   0   10G  0 disk
└─bcache0                 251:0    0    5G  0 disk
  └─bcache1               251:128  0    5G  0 disk /mnt/bcache1
vdd                       252:48   0    5G  0 disk
└─bcache1                 251:128  0    5G  0 disk /mnt/bcache1

Is anyone using this functionality? I assume not, because by default
it doesn't work.
Is there any good reason why this doesn't work by default?

I tried to understand how data will be read out of /dev/bcache1: will
the /dev/vdd cache, secondly created cache device, be interrogated
first and then will it be the turn of /dev/vdc ?
Meaning: can we consider that now the layer structure is

vdd
└─vdc
       └─bcache0
             └─bcache1
?




[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