2.4.20 /proc/partitions corruption with many partitions

From: Nick Burrett (nick@dsvr.net)
Date: Tue Jun 03 2003 - 11:00:15 EST


[resent with attachment this time]

Hi,

I'm finding it difficult to create more than, say 80, logical partitions
on a server. The symptoms are that lvcreate keeps segfaulting. The
reason is that /proc/partitions contains invalid data.

I initially wondered whether it might be the device naming convention
since when we go above 26 logical paritions we start writing out lvm{,
lvm}, lvm[ etc. so I added the following patch to write out the devices
as digits but this didn't have any effect.

--- fs/partitions/check.c 2002-11-28 23:53:15.000000000 +0000
+++ fs/partitions/check.c 2003-06-03 14:43:19.000000000 +0100
@@ -148,6 +148,7 @@ char *disk_name (struct gendisk *hd, int
                         maj = "hd";
                         break;
                 case MD_MAJOR:
+ case LVM_BLK_MAJOR:
                         sprintf(buf, "%s%d", maj, unit);
                         return buf;
         }

This is quite easy to replicate, just create many logical volumes until
lvcreate fails e.g.

$ lvcreate -L 10M -n foo01 vol01
etc.

The attached file is simply the output of:

$ cat /proc/partitions >/root/foo.txt

Any thoughts ?

Regards,

Nick.


   9 0 2048192 md0 0 0 0 0 0 0 0 0 0 0 0
   9 1 31744320 md1 0 0 0 0 0 0 0 0 0 0 0
   9 2 2048192 md2 0 0 0 0 0 0 0 0 0 0 0
   8 0 35843686 sda 968 3528 34954 6130 6375 16193 134440 38890 0 13090 45020
   8 1 2048256 sda1 918 3371 34312 4940 6066 8747 118912 38720 0 12770 43660
   8 2 2048287 sda2 3 0 24 20 1 0 8 0 0 20 20
   8 3 31744440 sda3 42 142 578 1160 308 7446 15520 170 0 290 1330
   8 16 35843686 sdb 1011 2866 29606 5580 6375 16193 134440 42130 0 11810 47710
   8 17 2048256 sdb1 958 2647 28822 4220 6066 8747 118912 41960 0 11470 46180
   8 18 2048287 sdb2 3 0 24 30 1 0 8 0 0 30 30
   8 19 31744440 sdb3 45 204 720 1310 308 7446 15520 170 0 340 1480
å
å
…Éuê¸
‹…Äþÿÿ©
‹…Äþÿÿ©
ē j
ē j

‰Ú‹\$¸
U¸™‰å]ÉöU¸

Name=Lynx
Type=Application
Comment=Text based WWW browser
Comment[de]=Textbasierter WWW-Browser
Comment[ja]=¥Æ¥­¥¹¥È¥Ù¡¼¥¹WWW¥Ö¥é¥¦¥¶
Coí
bin:*:1:1:bin:/bin:/sbin/nologin
daemon:*:2:2:daemon:/sbin:/sbin/nologin
adm:*:3:4:adm:/var/adm:/sbin/nologin
lp:*:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:/sbin/nologin
news:*:9:13:news:/etc/news:
uucp:*:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:*:11:0:operator:/root:/sbin/nologin
games:*:12:100:games:/usr/games:/sbin/nologin
gopher:*:13:30:gopher:/var/gopher:/sbin/nologin
ftp:*:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:*:99:99:Nobody:/:/sbin/nologin
mailnull:!!:47:47::/var/spool/mqueue:/dev/null
rpm:!!:37:37::/var/lib/rpm:/bin/bash
ntp:!!:38:38::/etc/ntp:/sbin/nologin
pcap:!!:77:77::/var/arpwatch:/sbin/nologin
rpc:!!:32:32:Portmapper RPC user:/:/bin/false
rpcuser:!!:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:!!:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:!!:74:74::/var/empty/sshd:/sbin/nologin
none /proc proc rw 0 0
/dev/vol01/skels /virtual/skels reiserfs rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}

# Path manipulation
if [ `id -u` = 0 ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fi

pathmunge /usr/X11R6/bin after

unset pathmunge

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"

HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
            . $i
    fi
done

unset i

  58 0 8388608 lvm0 0 0 0 0 0 0 0 0 0 0 0
  58 1 53248 lvm1 0 0 0 0 0 0 0 0 0 0 0
  58 2 53248 lvm2 0 0 0 0 0 0 0 0 0 0 0
  58 3 53248 lvm3 0 0 0 0 0 0 0 0 0 0 0
  58 4 53248 lvm4 0 0 0 0 0 0 0 0 0 0 0
  58 5 53248 lvm5 0 0 0 0 0 0 0 0 0 0 0
  58 6 53248 lvm6 0 0 0 0 0 0 0 0 0 0 0
  58 7 53248 lvm7 0 0 0 0 0 0 0 0 0 0 0
  58 8 53248 lvm8 0 0 0 0 0 0 0 0 0 0 0
  58 9 53248 lvm9 0 0 0 0 0 0 0 0 0 0 0
  58 10 53248 lvm10 0 0 0 0 0 0 0 0 0 0 0
  58 11 53248 lvm11 0 0 0 0 0 0 0 0 0 0 0
  58 12 53248 lvm12 0 0 0 0 0 0 0 0 0 0 0
  58 13 53248 lvm13 0 0 0 0 0 0 0 0 0 0 0
  58 14 53248 lvm14 0 0 0 0 0 0 0 0 0 0 0
  58 15 53248 lvm15 0 0 0 0 0 0 0 0 0 0 0
  58 16 53248 lvm16 0 0 0 0 0 0 0 0 0 0 0
  58 17 53248 lvm17 0 0 0 0 0 0 0 0 0 0 0
  58 18 53248 lvm18 0 0 0 0 0 0 0 0 0 0 0
  58 19 53248 lvm19 0 0 0 0 0 0 0 0 0 0 0
  58 20 53248 lvm20 0 0 0 0 0 0 0 0 0 0 0
  58 21 53248 lvm21 0 0 0 0 0 0 0 0 0 0 0
  58 22 53248 lvm22 0 0 0 0 0 0 0 0 0 0 0
  58 23 53248 lvm23 0 0 0 0 0 0 0 0 0 0 0
  58 24 53248 lvm24 0 0 0 0 0 0 0 0 0 0 0
  58 25 53248 lvm25 0 0 0 0 0 0 0 0 0 0 0
  58 26 53248 lvm26 0 0 0 0 0 0 0 0 0 0 0
  58 27 53248 lvm27 0 0 0 0 0 0 0 0 0 0 0
  58 28 53248 lvm28 0 0 0 0 0 0 0 0 0 0 0
  58 29 53248 lvm29 0 0 0 0 0 0 0 0 0 0 0
  58 30 53248 lvm30 0 0 0 0 0 0 0 0 0 0 0
  58 31 53248 lvm31 0 0 0 0 0 0 0 0 0 0 0
  58 32 53248 lvm32 0 0 0 0 0 0 0 0 0 0 0
  58 33 53248 lvm33 0 0 0 0 0 0 0 0 0 0 0
  58 34 53248 lvm34 0 0 0 0 0 0 0 0 0 0 0
  58 35 53248 lvm35 0 0 0 0 0 0 0 0 0 0 0
  58 36 53248 lvm36 0 0 0 0 0 0 0 0 0 0 0
  58 37 53248 lvm37 0 0 0 0 0 0 0 0 0 0 0
  58 38 53248 lvm38 0 0 0 0 0 0 0 0 0 0 0
  58 39 53248 lvm39 0 0 0 0 0 0 0 0 0 0 0
  58 40 53248 lvm40 0 0 0 0 0 0 0 0 0 0 0
  58 41 53248 lvm41 0 0 0 0 0 0 0 0 0 0 0
  58 42 53248 lvm42 0 0 0 0 0 0 0 0 0 0 0
  58 43 53248 lvm43 0 0 0 0 0 0 0 0 0 0 0
  58 44 53248 lvm44 0 0 0 0 0 0 0 0 0 0 0
  58 45 53248 lvm45 0 0 0 0 0 0 0 0 0 0 0
  58 46 53248 lvm46 0 0 0 0 0 0 0 0 0 0 0
  58 47 53248 lvm47 0 0 0 0 0 0 0 0 0 0 0
  58 48 53248 lvm48 0 0 0 0 0 0 0 0 0 0 0
  58 49 53248 lvm49 0 0 0 0 0 0 0 0 0 0 0
  58 50 53248 lvm50 0 0 0 0 0 0 0 0 0 0 0
  58 51 53248 lvm51 0 0 0 0 0 0 0 0 0 0 0
  58 52 53248 lvm52 0 0 0 0 0 0 0 0 0 0 0
  58 53 53248 lvm53 0 0 0 0 0 0 0 0 0 0 0
  58 54 53248 lvm54 0 0 0 0 0 0 0 0 0 0 0
  58 55 53248 lvm55 0 0 0 0 0 0 0 0 0 0 0
  58 56 53248 lvm56 0 0 0 0 0 0 0 0 0 0 0
  58 57 53248 lvm57 0 0 0 0 0 0 0 0 0 0 0
  58 58 53248 lvm58 0 0 0 0 0 0 0 0 0 0 0
  58 59 53248 lvm59 0 0 0 0 0 0 0 0 0 0 0
  58 60 53248 lvm60 0 0 0 0 0 0 0 0 0 0 0
  58 61 53248 lvm61 0 0 0 0 0 0 0 0 0 0 0
  58 62 53248 lvm62 0 0 0 0 0 0 0 0 0 0 0
  58 63 53248 lvm63 0 0 0 0 0 0 0 0 0 0 0
  58 64 53248 lvm64 0 0 0 0 0 0 0 0 0 0 0
  58 65 53248 lvm65 0 0 0 0 0 0 0 0 0 0 0
  58 66 53248 lvm66 0 0 0 0 0 0 0 0 0 0 0
  58 67 53248 lvm67 0 0 0 0 0 0 0 0 0 0 0
  58 68 53248 lvm68 0 0 0 0 0 0 0 0 0 0 0
  58 69 53248 lvm69 0 0 0 0 0 0 0 0 0 0 0
  58 70 53248 lvm70 0 0 0 0 0 0 0 0 0 0 0
  58 71 53248 lvm71 0 0 0 0 0 0 0 0 0 0 0
  58 72 53248 lvm72 0 0 0 0 0 0 0 0 0 0 0
  58 73 53248 lvm73 0 0 0 0 0 0 0 0 0 0 0
  58 74 53248 lvm74 0 0 0 0 0 0 0 0 0 0 0
  58 75 53248 lvm75 0 0 0 0 0 0 0 0 0 0 0
  58 76 53248 lvm76 0 0 0 0 0 0 0 0 0 0 0
  58 77 53248 lvm77 0 0 0 0 0 0 0 0 0 0 0
  58 78 53248 lvm78 0 0 0 0 0 0 0 0 0 0 0
  58 79 53248 lvm79 0 0 0 0 0 0 0 0 0 0 0
  58 80 53248 lvm80 0 0 0 0 0 0 0 0 0 0 0
   9 0 2048192 md0 0 0 0 0 0 0 0 0 0 0 0
   9 1 31744320 md1 0 0 0 0 0 0 0 0 0 0 0
   9 2 2048192 md2 0 0 0 0 0 0 0 0 0 0 0
   8 0 35843686 sda 968 3528 34954 6130 6382 16200 134552 38890 0 13090 45020
   8 1 2048256 sda1 918 3371 34312 4940 6073 8754 119024 38720 0 12770 43660
   8 2 2048287 sda2 3 0 24 20 1 0 8 0 0 20 20
   8 3 31744440 sda3 42 142 578 1160 308 7446 15520 170 0 290 1330
   8 16 35843686 sdb 1011 2866 29606 5580 6382 16200 134552 42130 0 11810 47710
   8 17 2048256 sdb1 958 2647 28822 4220 6073 8754 119024 41960 0 11470 46180
   8 18 2048287 sdb2 3 0 24 30 1 0 8 0 0 30 30
   8 19 31744440 sdb3 45 204 720 1310 308 7446 15520 170 0 340 1480

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jun 07 2003 - 22:00:20 EST