Oh, good! I thought it'd require a patch, that's much better. On Fri, Mar 2, 2012 at 6:28 PM, Joseph Glanville <joseph.glanville@xxxxxxxxxxxxxx> wrote: > Ahh! > > I didn't know LVM had a device type lookup table. You can see if you > look further that it also reads new types from the lvm.conf file. > Adding this line to lvm.conf fixes the problem: > > types = [ "bcache", 16 ] > > I would imagine if merged it would be added to the internal compiled in table. > > Thanks for the pointer. > Joseph. > > On 3 March 2012 13:17, Kent Overstreet <koverstreet@xxxxxxxxxx> wrote: >> I found the bug. Ugh... >> >> pvcreate refuses to use a device it doesn't recognize - look at the >> lvm2 source, lib/filters/filter.c >> >> I don't know why and I don't think I want to know. I imagine it'd work >> if you commented out the offending check (line 143 in my version). >> >> Maybe one of them can explain what's going on. >> >> On Fri, Mar 2, 2012 at 4:48 PM, Joseph Glanville >> <joseph.glanville@xxxxxxxxxxxxxx> wrote: >>> Cheers, I will try with a full disk device sometime later today. >>> >>> Thanks for you help, >>> Joseph. >>> >>> On 3 March 2012 11:01, Kent Overstreet <koverstreet@xxxxxxxxxx> wrote: >>>> Strange, I don't see anything obvious in that log. Well, shouldn't be >>>> too hard to track down, I'll see if I can reproduce it. >>>> >>>> On Fri, Mar 2, 2012 at 2:37 PM, Joseph Glanville >>>> <joseph.glanville@xxxxxxxxxxxxxx> wrote: >>>>> Hi Kent, >>>>> >>>>> The block device did indeed get created in /dev and the correct >>>>> pointer exists in /sys/block/bcache0/dev >>>>> I straced pvcreate and attached the outout, I couldn't see anything >>>>> that far out of the ordinary though - bar the return that the device >>>>> had been filtered. >>>>> I am using commit f4c09286dd3f761310b24bc03e5ce95793a9a30c of >>>>> bcache-tools.git and commit 7c3e597ca0f5c87767548d1e9aced024aa558b2a >>>>> of linux-bcache.git >>>>> >>>>> The other thing I noticed was that the /dev/disk-by/uuid symlink >>>>> wasn't created. I went ahead and created this myself but I will >>>>> investigate why the udev rule didn't do this for me. >>>>> >>>>> Below is relevant lines from pvscan and pvcreate: >>>>> >>>>> dev05 ~ # cat pvscan.log | grep bcache >>>>> execve("/sbin/pvscan", ["pvscan", "/dev/bcache0"], [/* 23 vars */]) = 0 >>>>> read(3, "strace\0pvscan\0/dev/bcache0\0", 31) = 27 >>>>> readlink("/sys/class/block/bcache0", >>>>> "../../devices/virtual/block/bcache0"..., 1024) = 35 >>>>> stat("/sys/devices/virtual/block/bcache0/uevent", >>>>> {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 >>>>> readlink("/sys/devices/virtual/block/bcache0", 0x7fff9e17aea0, 1024) = >>>>> -1 EINVAL (Invalid argument) >>>>> stat("/sys/devices/virtual/block/bcache0/uevent", >>>>> {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 >>>>> open("/sys/devices/virtual/block/bcache0/uevent", O_RDONLY|O_CLOEXEC) = 4 >>>>> read(4, "MAJOR=252\nMINOR=0\nDEVNAME=bcache"..., 4096) = 47 >>>>> readlink("/sys/devices/virtual/block/bcache0/subsystem", >>>>> "../../../../class/block"..., 1024) = 23 >>>>> read(4, "N:bcache0\nW:40\nI:580433490\n", 4096) = 27 >>>>> stat("/dev/bcache0", {st_mode=S_IFBLK|0660, st_rdev=makedev(252, 0), ...}) = 0 >>>>> stat("/sys/class/block/bcache0/dev", {st_mode=S_IFREG|0444, >>>>> st_size=4096, ...}) = 0 >>>>> open("/sys/class/block/bcache0/dev", O_RDONLY) = 6 >>>>> >>>>> dev05 ~ # cat pvcreate-strace.log | grep bcache >>>>> execve("/sbin/pvcreate", ["pvcreate", "/dev/bcache0"], [/* 23 vars */]) = 0 >>>>> read(3, "strace\0pvcreate\0/dev/bcache0\0", 31) = 29 >>>>> stat("/dev/bcache0", {st_mode=S_IFBLK|0660, st_rdev=makedev(252, 0), ...}) = 0 >>>>> readlink("/sys/dev/block/252:0", >>>>> "../../devices/virtual/block/bcache0", 1024) = 35 >>>>> stat("/sys/devices/virtual/block/bcache0/uevent", >>>>> {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 >>>>> stat("/sys/class/block/bcache0/dev", {st_mode=S_IFREG|0444, >>>>> st_size=4096, ...}) = 0 >>>>> open("/sys/class/block/bcache0/dev", O_RDONLY) = 6 >>>>> stat("/dev/bcache0", {st_mode=S_IFBLK|0660, st_rdev=makedev(252, 0), ...}) = 0 >>>>> stat("/dev/bcache0", {st_mode=S_IFBLK|0660, st_rdev=makedev(252, 0), ...}) = 0 >>>>> stat("/sys/class/block/bcache0/dev", {st_mode=S_IFREG|0444, >>>>> st_size=4096, ...}) = 0 >>>>> open("/sys/class/block/bcache0/dev", O_RDONLY) = 6 >>>>> write(2, "Device /dev/bcache0 not found (o"..., 56Device /dev/bcache0 >>>>> not found (or ignored by filtering).) = 56 >>>>> >>>>> Kind regards, >>>>> Joseph. >>>>> >>>>> >>>>> On 2 March 2012 17:44, Kent Overstreet <kent.overstreet@xxxxxxxxx> wrote: >>>>>> Oh - try stracing the pvcreate and see what happens. >>>>>> >>>>>> On Thu, Mar 1, 2012 at 10:03 PM, Kent Overstreet >>>>>> <kent.overstreet@xxxxxxxxx> wrote: >>>>>>> Weird. >>>>>>> >>>>>>> Did the /dev/bcache0 device get create created by udev? >>>>>>> >>>>>>> It's possible my code isn't poking the right thing. *mutters about the >>>>>>> block layer...* >>>>>>> >>>>>>> On Thu, Mar 1, 2012 at 9:49 PM, Joseph Glanville >>>>>>> <joseph.glanville@xxxxxxxxxxxxxx> wrote: >>>>>>>> Hi, >>>>>>>> >>>>>>>> I can't use bcache devices as members of lvm volume groups because >>>>>>>> dmsetup can't find the devices. >>>>>>>> It provides the ever useful feedback of: >>>>>>>> # pvcreate /dev/bcache0 >>>>>>>> Device /dev/bcache0 not found (or ignored by filtering). >>>>>>>> >>>>>>>> My LVM.conf is only filtering out nbd devices: >>>>>>>> filter = [ "r|/dev/nbd.*|", "a/.*/" ] >>>>>>>> >>>>>>>> Any insight would be greatly appreciated. :) >>>>>>>> >>>>>>>> I also noted that bcache devices don't appear in iostat.. >>>>>>>> >>>>>>>> Joseph. >>>>>>>> >>>>>>>> -- >>>>>>>> Founder | Director | VP Research >>>>>>>> Orion Virtualisation Solutions | www.orionvm.com.au | Phone: 1300 56 >>>>>>>> 99 52 | Mobile: 0428 754 846 >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Founder | Director | VP Research >>>>>>>> Orion Virtualisation Solutions | www.orionvm.com.au | Phone: 1300 56 >>>>>>>> 99 52 | Mobile: 0428 754 846 >>>>>>>> -- >>>>>>>> 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 >>>>> >>>>> >>>>> >>>>> -- >>>>> Founder | Director | VP Research >>>>> Orion Virtualisation Solutions | www.orionvm.com.au | Phone: 1300 56 >>>>> 99 52 | Mobile: 0428 754 846 >>>>> -- >>>>> 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 >>> >>> >>> >>> -- >>> Founder | Director | VP Research >>> Orion Virtualisation Solutions | www.orionvm.com.au | Phone: 1300 56 >>> 99 52 | Mobile: 0428 754 846 > > > > -- > Founder | Director | VP Research > Orion Virtualisation Solutions | www.orionvm.com.au | Phone: 1300 56 > 99 52 | Mobile: 0428 754 846 -- 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