From owner-freebsd-geom@FreeBSD.ORG Tue Jan 22 17:48:10 2013 Return-Path: Delivered-To: freebsd-geom@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DDE01661; Tue, 22 Jan 2013 17:48:10 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-la0-f44.google.com (mail-la0-f44.google.com [209.85.215.44]) by mx1.freebsd.org (Postfix) with ESMTP id 293958D8; Tue, 22 Jan 2013 17:48:09 +0000 (UTC) Received: by mail-la0-f44.google.com with SMTP id eb20so6711184lab.17 for ; Tue, 22 Jan 2013 09:48:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=bpN/Ps9WR9qSY0Brn8MtNj5ey8yQnYVfFEDhLOdGYYE=; b=PH+Uib+BeYKuk1m1crCenUv6IUHqgtXDoN7s9lIyb16yRIzIOq7d32hncXZycxIHXP ce3ey/rAGqb7z/5gCExhHN72h5peOvNHpXEtHZoYLFRed+J1RJmtnzGbnW87nx0uLfCw pLTjd+mHynUehK7orjxyw0G299FLQrPVGElIhAQ8NVE0uprNXTvfku56k4gyR+tsG5g6 Y57VgKqn9UKjWVSWPrVBMENF0hjwapNl6jGATaM7R76w1nrM1EplrKgubVVABdpg8ilK OLa6EKOzVTA/JZVmH1SoqgOEkuHWFD7yUPSDuVifCWVbX8sP7t7Eqj20ttRp0A0LBSgV 2X6Q== X-Received: by 10.152.136.20 with SMTP id pw20mr11042192lab.16.1358876888795; Tue, 22 Jan 2013 09:48:08 -0800 (PST) Received: from mavbook.mavhome.dp.ua (mavhome.mavhome.dp.ua. [213.227.240.37]) by mx.google.com with ESMTPS id pz15sm7332634lab.3.2013.01.22.09.48.06 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 22 Jan 2013 09:48:07 -0800 (PST) Sender: Alexander Motin Message-ID: <50FED0D5.6060105@FreeBSD.org> Date: Tue, 22 Jan 2013 19:48:05 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Andriy Gapon Subject: Re: kern/175323: Fail to use ZVOL as a gmirror component References: <50FD0E99.8010305@FreeBSD.org> <50FEBE55.1040009@FreeBSD.org> In-Reply-To: <50FEBE55.1040009@FreeBSD.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: freebsd-geom@FreeBSD.org X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 17:48:10 -0000 On 22.01.2013 18:29, Andriy Gapon wrote: > on 21/01/2013 14:39 Алексей Волков said the following: >> Eventually this patch works for me just fine. >> >> --- sys/geom/mirror/g_mirror.c (revision 245741) >> +++ sys/geom/mirror/g_mirror.c (working copy) >> @@ -456,7 +456,7 @@ >> disk->d_flags = md->md_dflags; >> error = g_getattr("GEOM::candelete", disk->d_consumer, &i); >> if (error != 0) >> - goto fail; >> + i=0; >> if (i) >> disk->d_flags |= G_MIRROR_DISK_FLAG_CANDELETE; >> if (md->md_provider[0] != '\0') >> > > So any comments from the GEOM / gmirror guys? That looks fine to me. I would just do it as: --- g_mirror.c (revision 245794) +++ g_mirror.c (working copy) @@ -457,9 +457,7 @@ g_mirror_init_disk(struct g_mirror_softc *sc, stru disk->d_priority = md->md_priority; disk->d_flags = md->md_dflags; error = g_getattr("GEOM::candelete", disk->d_consumer, &i); - if (error != 0) - goto fail; - if (i) + if (error == 0 && i != 0) disk->d_flags |= G_MIRROR_DISK_FLAG_CANDELETE; if (md->md_provider[0] != '\0') disk->d_flags |= G_MIRROR_DISK_FLAG_HARDCODED; -- Alexander Motin