Thread (13 messages) 13 messages, 5 authors, 2004-02-11

Re: ATARAID userspace configuration tool

From: Christophe Saout <hidden>
Date: 2004-02-10 14:58:59
Also in: lkml

Am Di, den 10.02.2004 schrieb Thomas Horsten um 15:18:
- Is there a "recommended" way to enumerate all block devices (not
partitions) from userside? Since this is ATA RAID, I could of course just
read the ideX majors from /proc/devices and try all the minors, but I
would prefer to get a list of all detected block devices in a portable
way.
You could go through the block devices in /sys and check if it is
attached to a pci card from one of the ataraid vendors...?
- After I have used the DM (and possible MD for some RAID types) to map
the ataraid devices, is there a way to remove the partitions from the
underlying disks from the kernel?
Nope.
This was my main reason for wanting to
do kernel-level autodetection of these arrays, so I could prevent add_disk
from being called and analysing the partition table (on these BIOS RAIDs,
in striped mode the first disk contains the partition table for the entire
array in sector 0, and if the user (or a script) tries to mount the
partitions (or even read the extended partition table) it may try to read
after the end of the disk and will in any case use wrong sector numbers -
leading to possible disk corruption.
Well, if the device is used by DM at least you cannot mount it anymore
(because it is bd_claimed), but still see and access it via open and
read.
On top of this it would be useful to make the underlying devices
inaccessible after the mapped device is created (to prevent people from
doing things like fdisk /dev/hda, when what they really wanted was
something like fdisk /dev/ataraid/disc).
I have a really bad idea :)

Try to combine it with udev. udev calls the ide script, the ide script
then calls the ataraid detector. If the device is non-ataraid, go on as
usual. If it is, build the device-mapper device and symlink (if it
doesn't already exist) and tell udev to not create anything.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help