Hello, all.
I am not a member of this ML, so please CC to me when you reply.

There are lilo.raid1 patch and lilo-0.21-1.1.patch in lilo-0.21 RPM
and I have a few questions about raid and lilo, is there anyone who
wrote lilo.raid1 patch?

o environment
- linux 2.2.x after 2.2.10
- raid0145-19990724-2.2.10.bz2
- raidtools-0.90

o Q about lilo.raid1.
When I use raidhotadd/remove to begin mirroring, there becomes a
strange entry in the md superblock on the disks.

ioctl(GET_ARRAY_INFO) tells nr_disks is 3 but 2 in reality.
ioctl(GET_DISK_INFO) tells one of them is device 00:00, both major and
minor is 0.

It might be a bug of a raid patch but lilo dies when he meets a
unexistence device and when the first divice is 00:00 lilo can do
nothing. So I suggest that lilo ignores such a device.
The souce code will be such like this, based on lilo.raid1 patch,

    skip = pass = do_md_install = query = version = uninstall = validate = 0;
        ;;;
        while((pass == 0)||(do_md_install && ((skip+pass) < md_array_info.nr_disks))) {
               if(do_md_install) {
                ;;;
                md_disk_info.number = pass;
                if (ioctl(md_fd,GET_DISK_INFO,&md_disk_info) < 0)
                   die("main: GET_DISK_INFO: %s", strerror(errno));
                device = (md_disk_info.major << 8) | md_disk_info.minor;
                if (!device) {
                   skip++;
                   continue;
                }
                disk_fd = dev_open(&dev,device,O_NOACCESS);
                ;;;


o Q about lilo-0.21-1.1.patch
I case of LARGE_EBDA, the arguments passed to kernel will be cut at
#CL_LENGTH, e.g. 78 bytes. Why it is so short? What is there at
0x8000+79?
(I know this is not a raid matter, but if you know the answer please
tell me)


Thank you.
Junjiro Okajima

Reply via email to