From owner-freebsd-current@FreeBSD.ORG Sat Jan 9 00:54:06 2010 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0927E106566C for ; Sat, 9 Jan 2010 00:54:06 +0000 (UTC) (envelope-from jroberson@jroberson.net) Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.210.172]) by mx1.freebsd.org (Postfix) with ESMTP id C4FF38FC0C for ; Sat, 9 Jan 2010 00:54:05 +0000 (UTC) Received: by yxe2 with SMTP id 2so5076674yxe.7 for ; Fri, 08 Jan 2010 16:54:01 -0800 (PST) Received: by 10.150.42.1 with SMTP id p1mr2127979ybp.15.1262998440880; Fri, 08 Jan 2010 16:54:00 -0800 (PST) Received: from ?10.0.1.198? (udp022762uds.hawaiiantel.net [72.234.79.107]) by mx.google.com with ESMTPS id 5sm8164488ywd.53.2010.01.08.16.53.59 (version=SSLv3 cipher=RC4-MD5); Fri, 08 Jan 2010 16:54:00 -0800 (PST) Date: Fri, 8 Jan 2010 14:56:45 -1000 (HST) From: Jeff Roberson X-X-Sender: jroberson@desktop To: current@freebsd.org Message-ID: User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Subject: Help test softupdates journaling (SUJ) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Sat, 09 Jan 2010 00:54:06 -0000 Hello, I have been augmenting softupdates with a small journal that will be processed in lieu of fsck in the event of a crash. I have written some about this project here: http://jeffr_tech.livejournal.com/ For now I need volunteers who will attempt to crash the kernel code. It now passes fsx, fsstress, and stress2 on my box for many hours. pho@ has been helping me and may still have a bug or two but I need a wider audience so we can be comfortable with the stability. In a week or so I will also provide the checker. Until then a full fsck is required after a crash. To install you will need to apply http://people.freebsd.org/~jeff/suj.diff to a recent current source tree. You will then need to recompile libufs, fsck_ffs, and tunefs at a minimum. You must disable softupdates on all filesystems before rebooting with the SUJ kernel. It is presently not backwards compatible with softupdates without journaling but I will fix that soon. You must disable background fsck by placing background_fsck="NO" in your rc.conf. You can enable suj by running tunefs -j enable /dev/{device}. You can disable suj by running tunefs -j disable /dev/{device} and then doing a full foreground fsck. There are no ill effects from removing the journal and you may go back to running a kernel without SUJ and using softupdates without any incompatibilities. I have not yet corrupted a filesystem in testing. tunefs allocates the journal which will be between 2 and 64mb depending on the size of the filesystem. I will probably ultimately make the maximum smaller but presently the smaller of 1/1024th of the fs or 64mb is used. I would suggest booting to single user to disable softupdates and enable suj before rebooting with the suj enabled kernel. Please also enable crashdumps. You can see the freebsd handobok for instructions on that. I would also mention that there is a lot of expensive debugging code at present. You can expect some cpu slowdown but I also hope you will run with INVARIANTS and WITNESS enabled to catch as many bugs as possible. I appreciate any and all assistance. Even reports of everything going smoothly after a few days uptime are valuable. Thanks, Jeff