From owner-freebsd-geom@FreeBSD.ORG Sat Feb 21 18:46:26 2004 Return-Path: Delivered-To: freebsd-geom@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A9E716A4CE; Sat, 21 Feb 2004 18:46:26 -0800 (PST) Received: from ozlabs.org (ozlabs.org [203.10.76.45]) by mx1.FreeBSD.org (Postfix) with ESMTP id D0ECB43D1D; Sat, 21 Feb 2004 18:46:25 -0800 (PST) (envelope-from grog@lemis.com) Received: from blackwater.lemis.com (blackwater.lemis.com [192.109.197.80]) by ozlabs.org (Postfix) with ESMTP id 35C492BD4A; Sun, 22 Feb 2004 13:46:24 +1100 (EST) Received: by blackwater.lemis.com (Postfix, from userid 1004) id 3594351211; Sun, 22 Feb 2004 13:16:22 +1030 (CST) Date: Sun, 22 Feb 2004 13:16:22 +1030 From: Greg 'groggy' Lehey To: Lukas Ertl Message-ID: <20040222024622.GM55671@wantadilla.lemis.com> References: <20040221162942.P19540@leelou.in.tern> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="9v2bTOXBzuB5Piju" Content-Disposition: inline In-Reply-To: <20040221162942.P19540@leelou.in.tern> User-Agent: Mutt/1.4.1i Organization: The FreeBSD Project Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.FreeBSD.org/ X-PGP-Fingerprint: 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 cc: geom@FreeBSD.org Subject: Re: GEOM + RAID5 help X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2004 02:46:26 -0000 --9v2bTOXBzuB5Piju Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Saturday, 21 February 2004 at 16:40:56 +0100, Lukas Ertl wrote: > Hi, > > I'm currently implementing the RAID5 bit of geom_vinum, and I could use a > little help. One problem I'm faced is that if the subdisk where the > original request should go to is down, I need to read all the other > stripes, recalculate the parity with the original data, and then write the > parity stripe (in the BIO_WRITE case), or read all other stripes plus the > parity to recalculate the desired data (in the BIO_READ case). You don't need to have a disk down to have this issue. When writing a RAID-5 block, you almost always need to do something similar. Look at complete_raid5_write() in vinuminterrupt.c for how it's done now. Greg -- Note: I discard all HTML mail unseen. Finger grog@FreeBSD.org for PGP public key. See complete headers for address and phone numbers. --9v2bTOXBzuB5Piju Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQFAOBf+IubykFB6QiMRAkSrAJ4sq0sJBFHCR6ASbNicqvGu0uj/0gCfUjxT 7hrOWe/6J4BnCXNSGgbPqZY= =eumt -----END PGP SIGNATURE----- --9v2bTOXBzuB5Piju--