From owner-freebsd-stable@FreeBSD.ORG Thu Sep 14 08:34:50 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 222EA16A47B for ; Thu, 14 Sep 2006 08:34:50 +0000 (UTC) (envelope-from jared@little-miracles.org) Received: from mail-ihug.icp-qv1-irony2.iinet.net.au (ihug-mail.icp-qv1-irony2.iinet.net.au [203.59.1.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id B575843D69 for ; Thu, 14 Sep 2006 08:34:46 +0000 (GMT) (envelope-from jared@little-miracles.org) Received: from 203-206-67-174.dyn.iinet.net.au (HELO eternity.thanhandjared.net) ([203.206.67.174]) by mail-ihug.icp-qv1-irony2.iinet.net.au with ESMTP; 14 Sep 2006 16:34:45 +0800 X-BrightmailFiltered: true X-Brightmail-Tracker: AAAAAA== X-IronPort-AV: i="4.09,162,1157299200"; d="scan'208"; a="631415187:sNHT16203476" Received: from [192.168.0.1] (seduction.thanhandjared.net [192.168.0.1]) by eternity.thanhandjared.net (Postfix) with ESMTP id 126E3B827; Thu, 14 Sep 2006 18:38:06 +1000 (EST) Message-ID: <45091426.2090709@little-miracles.org> Date: Thu, 14 Sep 2006 18:34:46 +1000 From: Jared Ring User-Agent: Thunderbird 1.5.0.5 (X11/20060728) MIME-Version: 1.0 To: Michael Butler References: <44FF4909.9020108@vwsoft.com> <44FF5B02.3090804@vwsoft.com> <44FF6FE6.4080602@protected-networks.net> In-Reply-To: <44FF6FE6.4080602@protected-networks.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-stable@freebsd.org Subject: Re: gmirror RAID-1: rebuilding freezes machine X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Sep 2006 08:34:50 -0000 I have cvsup'd today to make sure I get the updated g_mirror.c, have rebuilt world and kernel, installed both. however when i rebuild the degraded drive the same thing happens. during the rebuild the good drive is reading, but the dirty drive is not gettin written to according to gstat. all i have done is a gmirror remove gm0 ad0 after i realised what had happened, updated to the reverted version, gmirror insert gm0 ad0. the rebuild process began automatically. Am I missing something? Do i have to wipe and start again? This isnt a production machine, its still preproduction, but its supposed to be deployed in a week. Michael Butler wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I'm backing out the attached change to see if it fixes it .. > > Michael > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.5 (FreeBSD) > > iD8DBQFE/2/mQv9rrgRC1JIRArNYAJsEuTtrmig9bdW4aDQQ8W1May+EfQCfUjDQ > Xc1A9gUrrLS2jgbDP4xyC7I= > =5DtW > -----END PGP SIGNATURE----- > > > ------------------------------------------------------------------------ > > Index: src/sys/geom/mirror/g_mirror.c > =================================================================== > RCS file: /usr/home/ncvs/src/sys/geom/mirror/g_mirror.c,v > retrieving revision 1.66.2.7 > retrieving revision 1.66.2.8 > diff -u -r1.66.2.7 -r1.66.2.8 > --- src/sys/geom/mirror/g_mirror.c 16 Jul 2006 15:47:46 -0000 1.66.2.7 > +++ src/sys/geom/mirror/g_mirror.c 4 Sep 2006 12:55:43 -0000 1.66.2.8 > @@ -1813,12 +1813,19 @@ > bioq_remove(&sc->sc_queue, bp); > mtx_unlock(&sc->sc_queue_mtx); > > - if ((bp->bio_cflags & G_MIRROR_BIO_FLAG_REGULAR) != 0) > - g_mirror_regular_request(bp); > - else if ((bp->bio_cflags & G_MIRROR_BIO_FLAG_SYNC) != 0) > - g_mirror_sync_request(bp); > - else > + if (bp->bio_to != sc->sc_provider) { > + if ((bp->bio_cflags & G_MIRROR_BIO_FLAG_REGULAR) != 0) > + g_mirror_regular_request(bp); > + else if ((bp->bio_cflags & G_MIRROR_BIO_FLAG_SYNC) != 0) > + g_mirror_sync_request(bp); > + else { > + KASSERT(0, > + ("Invalid request cflags=0x%hhx to=%s.", > + bp->bio_cflags, bp->bio_to->name)); > + } > + } else { > g_mirror_register_request(bp); > + } > G_MIRROR_DEBUG(5, "%s: I'm here 9.", __func__); > } > } > > > ------------------------------------------------------------------------ > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"