From owner-freebsd-fs@FreeBSD.ORG Fri Apr 24 10:51:55 2009 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66852106564A for ; Fri, 24 Apr 2009 10:51:55 +0000 (UTC) (envelope-from p.dawidek@wheel.pl) Received: from mx3.wheel.pl (grom.wheel.pl [91.121.70.66]) by mx1.freebsd.org (Postfix) with ESMTP id 184D28FC24 for ; Fri, 24 Apr 2009 10:51:54 +0000 (UTC) (envelope-from p.dawidek@wheel.pl) Received: from localhost (unknown [10.10.2.1]) by mx3.wheel.pl (Postfix) with ESMTP id 53236142EA; Fri, 24 Apr 2009 12:32:47 +0200 (CEST) X-Virus-Scanned: amavisd-new at mx3.wheel.pl Received: from mx3.wheel.pl ([10.10.2.1]) by localhost (mx3.wheel.pl [10.10.2.1]) (amavisd-new, port 10024) with ESMTP id 5a6T1YyrJllT; Fri, 24 Apr 2009 12:32:46 +0200 (CEST) Received: from mail.wheel.pl (ghf58.internetdsl.tpnet.pl [83.12.187.58]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx3.wheel.pl (Postfix) with ESMTPS id 78CD9142E3; Fri, 24 Apr 2009 12:32:45 +0200 (CEST) Received: from localhost (unknown [10.0.2.3]) by mail.wheel.pl (Postfix) with ESMTP id 4DD172D92B; Fri, 24 Apr 2009 12:32:44 +0200 (CEST) Received: from mail.wheel.pl ([10.0.2.3]) by localhost (mail.wheel.pl [10.0.2.3]) (amavisd-new, port 10024) with ESMTP id l-zFju0syyvd; Fri, 24 Apr 2009 12:32:43 +0200 (CEST) Received: from localhost (pjd.wheel.pl [10.0.1.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wheel.pl (Postfix) with ESMTP id 8FA6D2D924; Fri, 24 Apr 2009 12:32:42 +0200 (CEST) Date: Fri, 24 Apr 2009 12:32:52 +0200 From: Pawel Jakub Dawidek To: Scott Burns Message-ID: <20090424103252.GC1494@garage.freebsd.pl> References: <49F048FB.6000401@bqinternet.com> <20090423195335.521db0a7@kan.dnsalias.net> <49F10660.201@modulus.org> <49F1618E.3080208@bqinternet.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="lEGEL1/lMxI0MVQ2" Content-Disposition: inline In-Reply-To: <49F1618E.3080208@bqinternet.com> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 8.0-CURRENT i386 Cc: freebsd-fs@freebsd.org Subject: Re: UFS2 metadata checksums X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Apr 2009 10:51:55 -0000 --lEGEL1/lMxI0MVQ2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Apr 24, 2009 at 02:51:58AM -0400, Scott Burns wrote: >=20 > Andrew Snow wrote: > > > >Ideally you would implement complete disk checksumming as a GEOM device. > > > >Then you could layer geom_mirror on top of it, so that if the checksum= =20 > >fails and returns EIO, geom_mirror can try the alternate device and=20 > >rebuild the one with the bad checksums. > > > >That will then complete the feature set implemented by ZFS, but for any= =20 > >filesystem on top of GEOM. > > > >- Andrew > > >=20 > The geli(8) GEOM class is able to verify sectors (and I believe it=20 > returns EINVAL on ones that fail), but with a noticeable performance=20 > impact. I could certainly see the use for a GEOM class that just does=20 > simple checksumming. If gmirror can then be aware of it, that does=20 > provide functionality similar to a ZFS mirror. Geli uses strong cryptography for integrity verification, which is not needed in this case. The class that does that still needs to use the method I implemented in geli to provide atomicity. Gmirror is already "aware" of that - in case of an error on one half, it will use the other half. What gmirror doesn't do (and ZFS does) is self-healing. All in all, in my opinion GEOM class is much better for this - it will protect everything (metadata and data) and will be file system idenpendent. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --lEGEL1/lMxI0MVQ2 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFJ8ZVUForvXbEpPzQRAij3AJ9TtqMOwFYQgBDpQsiz+L/sIhmsBgCeIt+t IN3c9RoSNHFNyOXKM+/DtYE= =Br66 -----END PGP SIGNATURE----- --lEGEL1/lMxI0MVQ2--