Date: Sun, 25 Apr 2004 16:52:40 +0400 (MSD) From: Dmitry Morozovsky <marck@rinet.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: le@FreeBSD.org Subject: kern/65956: [patch] vinum: bug in detached subdisk config Message-ID: <200404251252.i3PCqeSg051947@woozle.rinet.ru> Resent-Message-ID: <200404251300.i3PD0e8Y021304@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 65956 >Category: kern >Synopsis: [patch] vinum: bug in detached subdisk config >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 25 06:00:40 PDT 2004 >Closed-Date: >Last-Modified: >Originator: Dmitry Morozovsky >Release: FreeBSD 4-STABLE i386 >Organization: Cronyx Plus LLC (RiNet ISP) >Environment: System: FreeBSD 4-STABLE >Description: When a subdisk has been created without plex attached to, or when detaching, vinum writes incorrect line in on-disk config, so after stop-start cycle (or after reboot) it cannot interpret it. >How-To-Repeat: [Assume ad0s1h is freshly created or cleared by `vinum resetconfig'] # echo drive test device /dev/ad0s1h >/tmp/vinum0 # kldload vinum vinum: loaded # vinum create /tmp/vinum0 vinum: drive test is up 1 drives: D test State: up Device /dev/ad0s1h Avail: 32515/32516 MB (100%) 0 volumes: 0 plexes: 0 subdisks: # echo sd name test.p0.s0 len 1g drive test >/tmp/vinum1 # vinum create /tmp/vinum1 1 drives: D test State: up Device /dev/ad0s1h Avail: 31491/32516 MB (96%) 0 volumes: 0 plexes: 1 subdisks: S test.p0.s0 State: empty (detached) Size: 1024 MB # vinum printconfig # Vinum configuration of , saved at Mon Apr 26 00:20:29 2004 drive test device /dev/ad0s1h sd name test.p0.s0 drive test detached len 2097152s driveoffset 265s # vinum dumpconfig Drive test: Device /dev/ad0s1h Created on at Mon Apr 26 00:19:35 2004 Config last updated Mon Apr 26 00:20:24 2004 Size: 34095612416 bytes (32516 MB) sd name test.p0.s0 drive test plex len 2097152s driveoffset 265s state empty detached Drive /dev/ad0s1h: 31 GB (34095612416 bytes) # vinum stop vinum: unloaded vinum unloaded # vinum start vinum: loaded vinum: reading configuration from /dev/ad0s1h vinum: test.p0.s0: invalid keyword: 2097152s Disabling configuration updates vinum: No space for on test *** Warning: configuration updates are disabled. *** *** Warning: configuration updates are disabled. *** >Fix: Move plexname to the end of config line, where 'detached' attribute resides fixes the problem. Index: sys/dev/vinum/vinumio.c =================================================================== RCS file: /home/ncvs/src/sys/dev/vinum/vinumio.c,v retrieving revision 1.52.2.7 diff -u -r1.52.2.7 vinumio.c --- sys/dev/vinum/vinumio.c 9 Mar 2004 10:18:47 -0000 1.52.2.7 +++ sys/dev/vinum/vinumio.c 25 Apr 2004 12:43:12 -0000 @@ -559,10 +559,9 @@ drivename = "*invalid*"; snprintf(s, configend - s, - "sd name %s drive %s plex %s len %llus driveoffset %llus state %s", + "sd name %s drive %s len %llus driveoffset %llus state %s", sd->name, drivename, - vinum_conf.plex[sd->plexno].name, (unsigned long long) sd->sectors, (unsigned long long) sd->driveoffset, sd_state(sd->state)); @@ -571,7 +570,8 @@ if (sd->plexno >= 0) snprintf(s, configend - s, - " plexoffset %llds", + " plex %s plexoffset %llds", + vinum_conf.plex[sd->plexno].name, (long long) sd->plexoffset); else snprintf(s, configend - s, " detached"); >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404251252.i3PCqeSg051947>