[linux-lvm] Can't see /dev/hdk1

Michael Marxmeier mike at msede.com
Sun Oct 10 20:48:46 UTC 1999


Hi Bruce.

> There is no physical hdj* device, as I have kept the disks to one per IDE
> channel.  (By the way, if it helps, all drives work fine as stand alone
> ext2fs devices, and under md raid).

And that triggers a bug in pv_read_all_pv(). To opmize scan time for 
the cluttered /dev directory, pv_read_all_pv() tries to skip all
partitions for devices which don't exist.
Hover it's done in a wrong way ...

As a quick fix, have a look at lib/pv_read_all_pv.c and
modify it as below. The current code tries to skip partitions
if the device does not exist. However it blindly skips over the
next 15 devices it has found in /dev.

The code should look like:

         if ( ( tst = open ( dev_name, O_RDONLY)) == -1) {
            continue;
#if 0
            if ( MAJOR ( dir_cache[n].st_rdev) != MD_MAJOR &&
                 MINOR ( dir_cache[n].st_rdev) % 16 == 0) {
               n += 15;
               continue;
            }
#endif
         } else close ( tst);

Does this fix your problem?

The correct solution would be to order the dir_cache in major/minor
order and skip based on major/minor.


Hope this helps
Michael

-- 
Michael Marxmeier           Marxmeier Software AG
E-Mail: mike at msede.com      Besenbruchstrasse 9
Phone : +49 202 2431440     42285 Wuppertal, Germany
Fax   : +49 202 2431420     http://www.msede.com/



More information about the linux-lvm mailing list