Date: Thu, 28 Apr 2005 10:15:55 +0200 (CEST) From: Stijn Hoop <stijn@win.tue.nl> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Lukas Ertl <le@FreeBSD.org> Subject: kern/80427: gvinum checkparity corrupts striped plexes Message-ID: <200504280815.j3S8FtUs001666@pcwin002.win.tue.nl> Resent-Message-ID: <200504280820.j3S8KEQq067921@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 80427 >Category: kern >Synopsis: gvinum checkparity corrupts striped plexes >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Apr 28 08:20:14 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Stijn Hoop >Release: FreeBSD 6.0-CURRENT i386 >Organization: >Environment: System: FreeBSD pcwin002.win.tue.nl 6.0-CURRENT FreeBSD 6.0-CURRENT #12: Mon Mar 7 13:25:42 CET 2005 stijn@pcwin002.win.tue.nl:/usr/obj/usr/src/sys/PCWIN002 i386 >Description: The gvinum command allows one to run checkparity on a striped plex. While in itself this would be innocuous, it appears that the parity verification actually writes bogus data to disk, leading to filesystem corruption. >How-To-Repeat: [stijn@pcwin002] <~> ls /local/storage config-20050428.tar.gz subversion-20050428.tar.gz foo subversion-config-20050428.tar.gz mail-20050428.tar.gz www-default-20050428.tar.gz mailman-20050428.tar.gz www-logs-20050428.tar.gz mysql-20050428.gz www-sandcat-20050428.tar.gz postgresql www-whiskey-20050428.tar.gz [stijn@pcwin002] <~> sudo umount /local/storage [stijn@pcwin002] <~> sudo gvinum gvinum -> lv -r 1 volume: V storage State: up Plexes: 1 Size: 111 GB P storage.p0 S State: up Subdisks: 2 Size: 111 GB S storage.p0.s0 State: up D: meg Size: 55 GB S storage.p0.s1 State: up D: herc Size: 55 GB gvinum -> checkparity -v storage.p0 Checking at 54 MB ... ^C [stijn@pcwin002] <~> sudo fsck_ffs /dev/gvinum/storage ** /dev/gvinum/storage Cannot find file system superblock ioctl (GCINFO): Inappropriate ioctl for device fsck_ffs: /dev/gvinum/storage: can't read disk label >Fix: Check for the correct type of plex before initiating a parity check request. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504280815.j3S8FtUs001666>