From owner-freebsd-geom@FreeBSD.ORG Fri Jan 23 18:06:35 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 6C0D616A4CE; Fri, 23 Jan 2004 18:06:35 -0800 (PST) Received: from mailbox.univie.ac.at (mailbox.univie.ac.at [131.130.1.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6953243D39; Fri, 23 Jan 2004 18:06:33 -0800 (PST) (envelope-from l.ertl@univie.ac.at) Received: from dialin202.cc.univie.ac.at (dialin202.cc.univie.ac.at [131.130.202.202])i0O26O8C114306; Sat, 24 Jan 2004 03:06:27 +0100 Date: Sat, 24 Jan 2004 03:06:23 +0100 (CET) From: Lukas Ertl To: "Greg 'groggy' Lehey" In-Reply-To: <20040124013406.GB20359@wantadilla.lemis.com> Message-ID: <20040124024925.O1021@korben.in.tern> References: <20040122171029.N1850@korben.in.tern> <20040124013406.GB20359@wantadilla.lemis.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-DCC-ZID-Univie-Metrics: mailbox 4246; Body=0 Fuz1=0 Fuz2=0 cc: freebsd-geom@FreeBSD.org Subject: Re: Updated geom_vinum 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: Sat, 24 Jan 2004 02:06:35 -0000 On Sat, 24 Jan 2004, Greg 'groggy' Lehey wrote: > This is a great understatement. This code is some of the most complex > I have ever written. I'm not saying that you can't do better, but it > seems a waste of time to reinvent the wheel. Take a look at > vinumraid5.c and vinumrequest.c for an example of how complicated it > can be. It's true, I've oversimplified a whole lot. As I said, there's still a real lot left to do. For example, there's now no handling of crashed, stopped, or faulty objects. I thought I should try to get the code running when all objects are responding and then add the necessary bits for fail safety later. That might not be the most clever way to do it, but as I said in my first mail, I wanted a proof-of-concept, and yet, it works. > The other thing that strikes me is that you've greatly simplified the > object structures (originally in vinumobj.h, now in g_vinum_var.h). > While a lot of things go away as the result of GEOM, others don't, > like the I/O stats and revive parameters for example. It's possible > that you're planning to put them back in, but this seems like a lot > more work than necessary. Yes, I've left out a lot that I currently didn't need, as to not confuse myself while working on it. I'm sure that many of that stuff is going to go back in. > Also, I'm not sure that changing tables to lists is the best way to > go: each request will have to go down multiple levels of list to find > the appropriate object. I'm prepared to be proven wrong on this one, > however: certainly enlarging tables has been one of the biggest > problems in the current Vinum implementation. I have no real preference for lists over tables or something else. It just happens that the list code is already very present in GEOM, so I thought I could take it. If tables do better, I've nothing against it. Thanks very much for looking at the code and for your feedback. regards, le -- Lukas Ertl eMail: l.ertl@univie.ac.at UNIX Systemadministrator Tel.: (+43 1) 4277-14073 Vienna University Computer Center Fax.: (+43 1) 4277-9140 University of Vienna http://mailbox.univie.ac.at/~le/