I originally opened a bug against the aoetools. However, they indicated the problem is actually a configuration issue with LVM2. By adding " types = [ "aoe", 152 ]" to /etc/lvm/lvm.conf's device section the two are able to work with one-another. For more background info, please see the bug I have opened at the attached URL.
I'll build it into lvm2, but 152 there looks wrong. How does aoe allocate its minor numbers? Devices are only checked for partition tables if their minor number is a multiple of that number i.e. this gives the granularity of whole-device minor numbers. Use 1 if the device is not partitionable. e.g. 64 for ide, 16 for scsi, 1 for md
It looks to be similar as regular disks. e0.0 is my primary pv and is not partitioned, I'm using the whole device. e0.1 is a dummy device I created and then partitioned (e0.1p1 is the partition). Here's what I get on one of the client nodes: # ls -la /dev/etherd total 0 drwxr-xr-x 2 root root 100 Aug 8 13:28 . drwxr-xr-x 14 root root 5480 Aug 6 21:35 .. brw-r----- 1 root disk 152, 0 Aug 6 13:37 e0.0 brw-r----- 1 root disk 152, 16 Aug 8 13:27 e0.1 brw-r----- 1 root disk 152, 17 Aug 8 13:28 e0.1p1 From my prior experimenting however, it doesn't matter if the device has a partition table or not. It seems that lvm2 simply doesn't scan major 152 by default.
OK, so you want [ "aoe", 16 ] It gets the major number by searching for "aoe" in /proc/devices.
The 16 tells lvm2 that (152,0) (152,16) (152,32) might already be partitioned by the kernel, but (152,1) (152,2) ... will never be.
Committed upstream; will get pulled into next release.
Cool! I'll try changing it to 16 in my setup and see how it goes.