From owner-freebsd-current@FreeBSD.ORG Thu Nov 27 15:04:16 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 100BD16A4CE for ; Thu, 27 Nov 2003 15:04:16 -0800 (PST) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 178E143FBF for ; Thu, 27 Nov 2003 15:04:15 -0800 (PST) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.9p2/8.12.9) with ESMTP id hARN4Dlg065869; Thu, 27 Nov 2003 16:04:13 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Thu, 27 Nov 2003 16:04:12 -0700 (MST) Message-Id: <20031127.160412.69381954.imp@bsdimp.com> To: tlambert2@mindspring.com From: "M. Warner Losh" In-Reply-To: <3FC59E89.77203100@mindspring.com> References: <46117.1069866997@critter.freebsd.dk> <3FC59E89.77203100@mindspring.com> X-Mailer: Mew version 2.1 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: phk@phk.freebsd.dk cc: freebsd-current@freebsd.org Subject: Re: requesting vinum help X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 23:04:16 -0000 In message: <3FC59E89.77203100@mindspring.com> Terry Lambert writes: : There is no such thing as "bit rot"; there is only code that : is unmaintained by the people who change interfaces out from : under it. Actually, there is such a thing as code rot. Over time the fundamental assumptions that a piece of code makes are tested as the interfaces and subsystems it depends on evolve and change. These assumptions can be very subtle sometimes, and difficult to find and test. Vinum is hard to test because it requires multiple disks to test with. In addition, many problems with vinum are shown only under heavy work load, which may be difficult to simulate. Put in historical terms, the following code used to work: void foo(char *c) { *c = 'F'; } int main(int argc, char **argv) { foo("fred"); } but subtle changes in compiler technology over the years have made this code fail now. Warner