On Tue, 15 May 2012, Dan Williams wrote: > On Mon, May 14, 2012 at 5:04 PM, Mark Hills <mark@xxxxxxxxxxx> wrote: > > On Fri, 11 May 2012, Dan Williams wrote: > > > >> This is a hybrid proposal for supporting bcache as a md device. > >> Somewhat similar to the v1.x metadata format, where array assembly is > >> handled in userspace, but managed in the kernel. In the bcache case it > >> is an "external" metadata format, but then the expectation is that the > >> kernel "bcache" personality takes over runtime maintenance of the > >> metadata. > > > > I am having some trouble with this, can you clarify (perhaps by example) > > how to create a pairing of a cache and backing device? [...] > > # make-bcache -C /dev/sdb > > # make-bcache -B /dev/sdc > > # mdadm -A /dev/md0 /dev/sdb /dev/sdc > > mdadm: Cannot assemble mbr metadata on /dev/sdb > > I should have been more explicit in the changelog. This current patch > was only tested to assemble an existing bcache configuration. I.e. it > assumes the backing device has been attached to the cache set at least > once. By default make-bcache always creates a new cache-set id per > invocation. So in the above example it won't find sdb and sdc belong > to the same md device because the cache-set id's differ. You can > verify this with mdadm -E. Thanks for explaining. I suppose this is just expecially awkward at the moment because attaching the devices can't be done without a different kernel. So it will be good to see the "create" support, when it is ready. > [..] > > > > Maybe I missed something basic here, but I'm afraid can't see what? If > > not, hopefully this information is useful. > > > > I use bcache v13 patches and the MD conversion, and this patch to mdadm. > > For reference: > > [root@fedora-virt ~]# mdadm -E /dev/vd[bc] > /dev/vdb: > Magic : <bcache> > Version : 3 > Role : cache > Set UUID : e8670bc3:974b489c:aeb68ea1:d1adf6d1 > Cache Devs : 1 > Device UUID : a1b25e26:5a4c4db6:2716c1aa:eba44ec7 > Flags : sync > Policy : lru > Label : > Device Size : 16776192 (8.00 GiB 8.59 GB) > Bucket Size : 1024 > Num Buckets : 16384 > this dev : 0 > First Bucket : 1 > Checksum : 45fa97cda53b0b6 correct > /dev/vdc: > Magic : <bcache> > Version : 1 > Role : backing-device > Set UUID : e8670bc3:974b489c:aeb68ea1:d1adf6d1 > Cache Devs : 1 > Device UUID : 7045ff87:aa4b13c4:670d8bb2:0b4ad628 > Flags : sync > State : clean > Mode : writeback > Label : > Device Size : 16776192 (8.00 GiB 8.59 GB) > Bucket Size : 1024 > Num Buckets : 16384 > this dev : 0 > First Bucket : 1 > Checksum : f36910e51451d91c correct Presumably there's a little more too this, as I can't even investigate the UIDs in use: # make-bcache -C /dev/sdb [...] # make-bcache -B /dev/sdc [...] # mdadm -E /dev/sd[bc] /dev/sdb: MBR Magic : aa55 /dev/sdc: MBR Magic : aa55 I confirmed that I'm using the patched mdadm, but it still doesn't seem to recognise the magic. But, of course, I understand this is all work in progress. So this isn't a complaint at all, I am just looking forward to code in this area and happy to test where I can. Thanks -- Mark