From owner-freebsd-geom@FreeBSD.ORG Tue Sep 12 19:32:26 2006 Return-Path: X-Original-To: freebsd-geom@freebsd.org 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 0CD6D16A40F for ; Tue, 12 Sep 2006 19:32:26 +0000 (UTC) (envelope-from arne_woerner@yahoo.com) Received: from web30310.mail.mud.yahoo.com (web30310.mail.mud.yahoo.com [209.191.69.72]) by mx1.FreeBSD.org (Postfix) with SMTP id 89E8043D46 for ; Tue, 12 Sep 2006 19:32:25 +0000 (GMT) (envelope-from arne_woerner@yahoo.com) Received: (qmail 75862 invoked by uid 60001); 12 Sep 2006 19:32:25 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=ZifKqY7tlJa7AZn9LjUb/3AneIIjSmosrZF/v4wnQiCmb4qioENqJ8NIr7RAMpgDtx/abF4epEWools/q5q0SYvKqvt+IgF++NTiGkoQJ/q3TPAHXSgN3mVq46CBfSeXX6KhrbdTqpb5NK8GxRj9Iuqjk4bRX6FYuTzop3fkB2g= ; Message-ID: <20060912193225.75860.qmail@web30310.mail.mud.yahoo.com> Received: from [213.54.69.36] by web30310.mail.mud.yahoo.com via HTTP; Tue, 12 Sep 2006 12:32:25 PDT Date: Tue, 12 Sep 2006 12:32:25 -0700 (PDT) From: "R. B. Riddick" To: Ulf Lilleengen In-Reply-To: <20060912191744.GA28858@stud.ntnu.no> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: freebsd-geom@freebsd.org Subject: Re: gvinum raid5 in production X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Sep 2006 19:32:26 -0000 --- Ulf Lilleengen wrote: > > As far as I understood GEOM it does not like to sleep in g_up or g_down > > threads... So we cannot use M_WAITOK in gv_down()... > What do you mean gv_down()? Gvinum does not use g_up or g_down as far as i > can tell? > Ohoh... Tubby "typo"... "gv_down" is wrong... I meant "gv_drive_done()" As far as I understood GEOM it work as follows: 1. A geom class provides a drive and several functions, that r needed to operate that drive... 2. Thread g_down hands down a new read/write/... request to an instance of a geom class by using those functions (often called: ..._start()) 3. Thread g_up hands up a completed/aborted request to the caller (a geom or so) by using those functions (often called: ..._done()) It is a little bit like "function overloading" in OO... -Arne --- Arne likes Teletubbies... __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com