Date: Sun, 3 Feb 2008 02:05:45 GMT From: Richard Bejtlich <taosecurity@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/120231: GEOM_CONCAT error adding second drive Message-ID: <200802030205.m1325jQj002933@www.freebsd.org> Resent-Message-ID: <200802030210.m132A1Mc055305@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 120231 >Category: kern >Synopsis: GEOM_CONCAT error adding second drive >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Feb 03 02:10:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Richard Bejtlich >Release: 7.0-RC1 >Organization: TaoSecurity >Environment: uname -a FreeBSD edited.edited.com 7.0-RC1 FreeBSD 7.0-RC1 #0: Mon Dec 24 12:18:24 UTC 2007 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: I want to use gconcat to make ad4s1h and ad5s1d appear to be a single /dev/concat/nsm partition. When ad5s1d occupies the entire ad5s1 slice, then GEOM_CONCAT tries to add ad5s1 instead of ad5s1d. GEOM_CONCAT doesn't work at that point. Please see text below for an example. >How-To-Repeat: # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad4s1a 989M 129M 781M 14% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad4s1e 989M 22K 910M 0% /home /dev/ad4s1h 5.9G 4.0K 5.4G 0% /nsm1 /dev/ad5s1d 72G 4.0K 66G 0% /nsm2 /dev/ad4s1f 989M 12K 910M 0% /tmp /dev/ad4s1d 4.8G 755M 3.7G 17% /usr /dev/ad4s1g 20G 232K 18G 0% /var # mount /dev/ad4s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad4s1e on /home (ufs, local, soft-updates) /dev/ad4s1h on /nsm1 (ufs, local, soft-updates) /dev/ad5s1d on /nsm2 (ufs, local, soft-updates) /dev/ad4s1f on /tmp (ufs, local, soft-updates) /dev/ad4s1d on /usr (ufs, local, soft-updates # umount /nsm1 # umount /nsm2 # gconcat label -v nsm ad4s1h ad5s1d Metadata value stored on ad4s1h. Metadata value stored on ad5s1d. Done. # dmesg | tail ad4: 38146MB <Seagate ST340014AS 8.05> at ata2-master SATA150 ad5: 76293MB <SAMSUNG HD080HJ/P ZH100-34> at ata2-slave SATA150 lapic1: Forcing LINT1 to edge trigger SMP: AP CPU #1 Launched! Trying to mount root from ufs:/dev/ad4s1a GEOM_CONCAT: Device nsm created (id=3517115025). GEOM_CONCAT: Disk ad4s1h attached to nsm. GEOM_CONCAT: Disk ad5s1 attached to nsm. GEOM_CONCAT: Device nsm activated. GEOM_CONCAT: Cannot add disk ad5s1d to nsm (error=17). >Fix: As a workaround, I can create two partitions on ad5s1 instead of one. # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad4s1a 989M 129M 781M 14% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad4s1e 989M 22K 910M 0% /home /dev/ad4s1h 5.9G 4.0K 5.4G 0% /nsm1 /dev/ad5s1e 71G 4.0K 65G 0% /nsm2 /dev/ad4s1f 989M 12K 910M 0% /tmp /dev/ad5s1d 989M 4.0K 910M 0% /tmp2 /dev/ad4s1d 4.8G 755M 3.7G 17% /usr /dev/ad4s1g 20G 232K 18G 0% /var # mount /dev/ad4s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad4s1e on /home (ufs, local, soft-updates) /dev/ad4s1h on /nsm1 (ufs, local, soft-updates) /dev/ad5s1e on /nsm2 (ufs, local, soft-updates) /dev/ad4s1f on /tmp (ufs, local, soft-updates) /dev/ad5s1d on /tmp2 (ufs, local, soft-updates) /dev/ad4s1d on /usr (ufs, local, soft-updates) /dev/ad4s1g on /var (ufs, local, soft-updates) # umount /nsm1 # umount /nsm2 # gconcat label -v nsm ad4s1h ad5s1e Metadata value stored on ad4s1h. Metadata value stored on ad5s1e. Done. # dmesg | tail acd0: DVDR <Optiarc DVD+/-RW ND-3570A/104B> at ata0-master UDMA33 ad4: 38146MB <Seagate ST340014AS 8.05> at ata2-master SATA150 ad5: 76293MB <SAMSUNG HD080HJ/P ZH100-34> at ata2-slave SATA150 lapic1: Forcing LINT1 to edge trigger SMP: AP CPU #1 Launched! Trying to mount root from ufs:/dev/ad4s1a GEOM_CONCAT: Device nsm created (id=1016589974). GEOM_CONCAT: Disk ad4s1h attached to nsm. GEOM_CONCAT: Disk ad5s1e attached to nsm. GEOM_CONCAT: Device nsm activated. >From here I can finish the process without a problem. # newfs /dev/concat/nsm # mkdir /nsm # mount /dev/concat/nsm /nsm # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad4s1a 989M 129M 781M 14% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad4s1e 989M 22K 910M 0% /home /dev/ad4s1f 989M 12K 910M 0% /tmp /dev/ad5s1d 989M 4.0K 910M 0% /tmp2 /dev/ad4s1d 4.8G 755M 3.7G 17% /usr /dev/ad4s1g 20G 232K 18G 0% /var /dev/concat/nsm 77G 4.0K 71G 0% /nsm # mount /dev/ad4s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad4s1e on /home (ufs, local, soft-updates) /dev/ad4s1f on /tmp (ufs, local, soft-updates) /dev/ad5s1d on /tmp2 (ufs, local, soft-updates) /dev/ad4s1d on /usr (ufs, local, soft-updates) /dev/ad4s1g on /var (ufs, local, soft-updates) /dev/concat/nsm on /nsm (ufs, local) Thank you. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802030205.m1325jQj002933>