I have found two problems in LVM2/DM w/ a potential new "experimental
feature" in 2.6.28: CONFIG_DEBUG_BLOCK_EXT_DEVT (this is from Jens
Axboe's origin/for-2.6.28 git branch)
"Conventionally, block device numbers are allocated from predetermined
contiguous area. However, extended block area may introduce
non-contiguous block device numbers. This option forces most block
device numbers to be allocated from the extended space and spreads them
to discover kernel or userland code paths which assume predetermined
contiguous device number allocation."
W/ LVM2 & DM there are (at least) two issues:
(1) Device major numbers for some reason are /not/ being entered
correctly into /proc/devices -- w/ CONFIG_DEBUG_BLOCK_EXT_DEVT=y I am
seeing some devices w/ major "259" (a SATA controller) but no entry in
/proc/devices. LVM2/DM will not find the entry in /proc/devices, and not
allow any device w/ that major to be used with LVM commands.
(2) Device minor numbers can be quite large, and the 10-character limits
in dm/lib/libdm-deptree.c are too small.
It's a debug option and I don't expect it to be enabled in any
Hmmm.. Adding a call to register_blkdev(), which will create the
corresponding entry in /proc/devices, isn't difficult at all but which
name would it use? It'll be mix of block devices (hd and sds
currently). If we introduce a new name there, say, ext-block, would
that work? BTW, is there any specific reason why LVM2/DM can't use
Would it be difficult to increase that?
Alright, thanks. What about the /proc/devices one? Would adding an
entry help? I'm kind of lost /proc/devices. It's now mostly
non-functional legacy stuff we've been carrying around. Is it
deprecated or do we intend to keep it around forever?
Ooh.. which also reminds me that I forgot to reserve the major number w/
lanana. Will do that.