From owner-freebsd-fs@FreeBSD.ORG Mon Mar 1 21:15:56 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3A42516A4CE for ; Mon, 1 Mar 2004 21:15:56 -0800 (PST) Received: from yonge.cs.toronto.edu (yonge.cs.toronto.edu [128.100.1.8]) by mx1.FreeBSD.org (Postfix) with SMTP id 9B97D43D1F for ; Mon, 1 Mar 2004 21:15:55 -0800 (PST) (envelope-from moraes@cs.toronto.edu) Received: from sanpedro.cs.toronto.edu ([128.100.3.2]) by yonge.cs.toronto.edu with SMTP id <202666-22665>; Tue, 2 Mar 2004 00:15:51 -0500 Received: by sanpedro.cs.toronto.edu id <25298-27797>; Tue, 2 Mar 2004 00:15:43 -0500 Sender: Mark Moraes From: "email moraes at cs dot toronto dot edu" To: freebsd-fs@freebsd.org Message-Id: <04Mar2.001543edt.25298-27797@sanpedro.cs.toronto.edu> Date: Tue, 2 Mar 2004 00:15:39 -0500 Subject: I've moved! X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Mar 2004 05:15:56 -0000 [This is a recording] I'm now working for Teleias International in Walnut Creek. John DiMarco jdd at cs dot toronto dot edu has taken over further development of xcpustate. The current version can be obtained via anonymous ftp from: ftp.cs.toronto.edu:/pub/jdd/xcpustate/ ftp.x.org:/contrib/utilities/xcpustate* The latest version of Jove can be found in ftp.cs.toronto.edu:/pub/moraes/jove. Questions about it should be directed to jovehacks at cs dot toronto dot edu. If it's about any of the other programs I've written or maintain (eg. xpic, xtroff, xplaces, or malloc), current versions are in ftp.cs.toronto.edu:/pub/moraes. I have very little time to maintain them, I'm afraid. Sorry. If it's because I haven't answered your mail for a long time, my apologies. I'm so far behind on my email that it's unlikely I'll ever catch up. Ciao. Mark Moraes. From owner-freebsd-fs@FreeBSD.ORG Tue Mar 2 06:13:35 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 052BE16A4CF for ; Tue, 2 Mar 2004 06:13:35 -0800 (PST) Received: from AUSADMMSRR501.aus.amer.dell.com (ausadmmsrr501.aus.amer.dell.com [143.166.83.88]) by mx1.FreeBSD.org (Postfix) with SMTP id A6AF343D2D for ; Tue, 2 Mar 2004 06:13:34 -0800 (PST) (envelope-from Muthu_T@Dell.com) Received: from 143.166.5.94 by AUSADMMSRR501.aus.amer.dell.com with ESMTP (Tumbleweed MMS SMTP Relay (MMS v4.7);); Tue, 02 Mar 2004 08:13: 34 -0600 X-Server-Uuid: ff595059-9672-488a-bf38-b4dee96ef25b Received: from AUSX2KCPS308.aus.amer.dell.com ([10.3.98.132]) by AUSX2KCPC113.aus.amer.dell.com with Microsoft SMTPSVC(5.0.2195.6713); Tue, 2 Mar 2004 08:13:33 -0600 Received: from BLRX2KCBGL201.blr.amer.dell.com ([163.244.180.64]) by AUSX2KCPS308.aus.amer.dell.com with Microsoft SMTPSVC(5.0.2195.5329); Tue, 2 Mar 2004 08:13:33 -0600 Received: from BLRX2KMBGL301.blr.amer.dell.com ([10.98.1.39]) by BLRX2KCBGL201.blr.amer.dell.com with Microsoft SMTPSVC(5.0.2195.5329); Tue, 2 Mar 2004 19:42:18 +0530 content-class: urn:content-classes:message Date: Tue, 2 Mar 2004 19:42:18 +0530 MIME-Version: 1.0 Message-ID: <5113BE5471DC504BA6495C5956F27D450142A1CD@blrx2kmbgl301.blr.amer.dell.com> X-MS-Has-Attach: X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1 X-MS-TNEF-Correlator: Thread-Topic: Any InterMezzo port to FreeBSD? Thread-Index: AcQAYF3FhgxZlchMQXu+nmFzxT/wog== From: Muthu_T@Dell.com To: freebsd-fs@freebsd.org X-OriginalArrivalTime: 02 Mar 2004 14:12:18.0491 (UTC) FILETIME=[5F0F38B0:01C40060] X-WSS-ID: 6C5A4904622733-01-01 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: Any InterMezzo port to FreeBSD? X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Mar 2004 14:13:35 -0000 All, Is there anybody planned to port InterMezzo to FreeBSD? Thanks. T. Muthu Mohan =20 From owner-freebsd-fs@FreeBSD.ORG Tue Mar 2 11:08:44 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2579C16A4CE for ; Tue, 2 Mar 2004 11:08:44 -0800 (PST) Received: from mx.nsu.ru (mx.nsu.ru [212.192.164.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id C685B43D39 for ; Tue, 2 Mar 2004 11:08:43 -0800 (PST) (envelope-from fjoe@iclub.nsu.ru) Received: from iclub.nsu.ru ([193.124.215.97] ident=root) by mx.nsu.ru with esmtp (Exim 4.30) id 1AyFIC-0002Ts-Tf; Wed, 03 Mar 2004 01:11:00 +0600 Received: from iclub.nsu.ru (fjoe@localhost [127.0.0.1]) by iclub.nsu.ru (8.12.10/8.12.10) with ESMTP id i22J8fYw039729; Wed, 3 Mar 2004 01:08:41 +0600 (NS) (envelope-from fjoe@iclub.nsu.ru) Received: (from fjoe@localhost) by iclub.nsu.ru (8.12.10/8.12.10/Submit) id i22J8ddS039728; Wed, 3 Mar 2004 01:08:39 +0600 (NS) (envelope-from fjoe) Date: Wed, 3 Mar 2004 01:08:38 +0600 From: Max Khon To: rjshang Message-ID: <20040302190838.GB38981@iclub.nsu.ru> References: <20040213091617.M29405@synology.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040213091617.M29405@synology.com> User-Agent: Mutt/1.4.1i cc: freebsd-fs@freebsd.org Subject: Re: Is that a typo in ffs_softdep.c X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Mar 2004 19:08:44 -0000 Hello! On Fri, Feb 13, 2004 at 05:16:17PM +0800, rjshang wrote: > It looks like a typo in ffs_softdep.c softdep_sync_metadata(). > The second parameter of drain_output is used to tell if it is > protected by &lk. > Is there other concern? > Please check the following patch from 4.9 release. > > --- ffs_softdep.c Wed Feb 6 02:46:53 2002 > +++ ffs_softdep.new.c Fri Feb 13 16:48:52 2004 > @@ -4299,29 +4299,29 @@ > return (0); > } > > FREE_LOCK(&lk); > /* > * If we are trying to sync a block device, some of its buffers may > * contain metadata that cannot be written until the contents of > some > * partially written files have been written to disk. The only easy > * way to accomplish this is to sync the entire filesystem (luckily > * this happens rarely). > * > * We must wait for any I/O in progress to finish so that > * all potential buffers on the dirty list will be visible. > */ > - drain_output(vp, 1); > + drain_output(vp, 0); > if (vn_isdisk(vp, NULL) && > vp->v_specmountpoint && !VOP_ISLOCKED(vp, NULL) && > (error = VFS_SYNC(vp->v_specmountpoint, MNT_WAIT, ap->a_cred, > ap->a_p)) != 0) > return (error); > return (0); > } > > /* > * Flush the dependencies associated with an inodedep. > * Called with splbio blocked. > */ > static int > flush_inodedep_deps(fs, ino) Nice catch! drain_output() should be called earlier (before chechkig dirty list). The bug was introduced in ffs_softdep.c rev. 1.57.2.10. Correct patch is attached. I sent this patch to Kirk for review and will commit it as soon as I get an approval from him. /fjoe From owner-freebsd-fs@FreeBSD.ORG Tue Mar 2 11:10:58 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C6EE516A4CE for ; Tue, 2 Mar 2004 11:10:58 -0800 (PST) Received: from mx.nsu.ru (mx.nsu.ru [212.192.164.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3E24C43D3F for ; Tue, 2 Mar 2004 11:10:58 -0800 (PST) (envelope-from fjoe@iclub.nsu.ru) Received: from iclub.nsu.ru ([193.124.215.97] ident=root) by mx.nsu.ru with esmtp (Exim 4.30) id 1AyFKN-0002at-Cb; Wed, 03 Mar 2004 01:13:15 +0600 Received: from iclub.nsu.ru (fjoe@localhost [127.0.0.1]) by iclub.nsu.ru (8.12.10/8.12.10) with ESMTP id i22JAuYw039809; Wed, 3 Mar 2004 01:10:56 +0600 (NS) (envelope-from fjoe@iclub.nsu.ru) Received: (from fjoe@localhost) by iclub.nsu.ru (8.12.10/8.12.10/Submit) id i22JAuno039808; Wed, 3 Mar 2004 01:10:56 +0600 (NS) (envelope-from fjoe) Date: Wed, 3 Mar 2004 01:10:55 +0600 From: Max Khon To: rjshang Message-ID: <20040302191055.GA39744@iclub.nsu.ru> References: <20040213091617.M29405@synology.com> <20040302190838.GB38981@iclub.nsu.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="/04w6evG8XlLl3ft" Content-Disposition: inline In-Reply-To: <20040302190838.GB38981@iclub.nsu.ru> User-Agent: Mutt/1.4.1i cc: freebsd-fs@freebsd.org Subject: Re: Is that a typo in ffs_softdep.c X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Mar 2004 19:10:58 -0000 --/04w6evG8XlLl3ft Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello! On Wed, Mar 03, 2004 at 01:08:38AM +0600, Max Khon wrote: > > It looks like a typo in ffs_softdep.c softdep_sync_metadata(). > > The second parameter of drain_output is used to tell if it is > > protected by &lk. > > Is there other concern? > > Please check the following patch from 4.9 release. [...] > Nice catch! > > drain_output() should be called earlier (before chechkig dirty list). > The bug was introduced in ffs_softdep.c rev. 1.57.2.10. > Correct patch is attached. > I sent this patch to Kirk for review and will commit it as soon as I get > an approval from him. Sorry, forgot to attach the patch. /fjoe --/04w6evG8XlLl3ft Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="ffs_softdep.c.diff" Index: ffs_softdep.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_softdep.c,v retrieving revision 1.57.2.11 diff -u -p -r1.57.2.11 ffs_softdep.c --- ffs_softdep.c 5 Feb 2002 18:46:53 -0000 1.57.2.11 +++ ffs_softdep.c 2 Mar 2004 18:52:25 -0000 @@ -4293,7 +4293,11 @@ loop: * If we have managed to get rid of all the dirty buffers, * then we are done. For certain directories and block * devices, we may need to do further work. + * + * We must wait for any I/O in progress to finish so that + * all potential buffers on the dirty list will be visible. */ + drain_output(vp, 1); if (TAILQ_FIRST(&vp->v_dirtyblkhd) == NULL) { FREE_LOCK(&lk); return (0); @@ -4306,11 +4310,7 @@ loop: * partially written files have been written to disk. The only easy * way to accomplish this is to sync the entire filesystem (luckily * this happens rarely). - * - * We must wait for any I/O in progress to finish so that - * all potential buffers on the dirty list will be visible. */ - drain_output(vp, 1); if (vn_isdisk(vp, NULL) && vp->v_specmountpoint && !VOP_ISLOCKED(vp, NULL) && (error = VFS_SYNC(vp->v_specmountpoint, MNT_WAIT, ap->a_cred, --/04w6evG8XlLl3ft-- From owner-freebsd-fs@FreeBSD.ORG Wed Mar 3 13:38:54 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6F49516A4CE for ; Wed, 3 Mar 2004 13:38:54 -0800 (PST) Received: from cliffclavin.cs.rpi.edu (cliffclavin.cs.rpi.edu [128.213.1.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 115EE43D3F for ; Wed, 3 Mar 2004 13:38:54 -0800 (PST) (envelope-from crossd@cs.rpi.edu) Received: from 128.213.12.18 (rexx.cs.rpi.edu [128.213.12.18]) i23Lcnn7016912 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 3 Mar 2004 16:38:49 -0500 (EST) From: "David E. Cross" To: freebsd-fs@freebsd.org Content-Type: text/plain Message-Id: <1078349927.454.5.camel@rexx.cs.rpi.edu> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.3 Date: 03 Mar 2004 16:38:49 -0500 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.37 Subject: struct buf * and journaled-UFS help X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2004 21:38:54 -0000 As some are aware I have been working with a computer science graduate student to bring jounralling to the UFS(2) filesystem. Right now we have it so that operations are journaled to an in-core memory structure (comprised of BLKSIZE * number amount of memory, which is obtained by malloc(9)). When this in-core journal gets full we need to flush it to disk. Previously we had used VOP_WRITE() for this, but it was suggested, and I agree that we should use either VOP_STRATEGY or brwite/bread for our IO work. Both of these require a "struct buf" to do their work. What is the appropriate way to get such a structure? I have seen gbincore() used in similar cases, but it seems that gbincore(), like many of the other buf(9) routines are for getting an already allocated struct buf from the system pool; for example gbincore checks that the lblkno of what is requested is the name as the block already allocated in either the clean or dirty block trees. -- David E. Cross From owner-freebsd-fs@FreeBSD.ORG Wed Mar 3 13:49:25 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E74A16A4CE for ; Wed, 3 Mar 2004 13:49:25 -0800 (PST) Received: from newman.gte.com (newman.gte.com [132.197.8.26]) by mx1.FreeBSD.org (Postfix) with ESMTP id 69A6343D2F for ; Wed, 3 Mar 2004 13:49:24 -0800 (PST) (envelope-from ak03@gte.com) Received: from h132-197-179-27.gte.com (kanpc.gte.com [132.197.179.27]) by newman.gte.com (8.9.1/8.9.1) with ESMTP id QAA09900; Wed, 3 Mar 2004 16:49:21 -0500 (EST) Received: from kanpc.gte.com (localhost [IPv6:::1])i24LdSke029734; Thu, 4 Mar 2004 16:39:28 -0500 (EST) (envelope-from ak03@gte.com) Date: Thu, 4 Mar 2004 16:39:27 -0500 From: Alexander Kabaev To: "David E. Cross" Message-Id: <20040304163927.5babadf9@kanpc.gte.com> In-Reply-To: <1078349927.454.5.camel@rexx.cs.rpi.edu> References: <1078349927.454.5.camel@rexx.cs.rpi.edu> Organization: Verizon Data Services X-Mailer: Sylpheed version 0.9.9claws36 (GTK+ 1.2.10; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: freebsd-fs@freebsd.org Subject: Re: struct buf * and journaled-UFS help X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2004 21:49:25 -0000 On 03 Mar 2004 16:38:49 -0500 "David E. Cross" wrote: > As some are aware I have been working with a computer science graduate > student to bring jounralling to the UFS(2) filesystem. Right now we > have it so that operations are journaled to an in-core memory > structure(comprised of BLKSIZE * number amount of memory, which is > obtained by malloc(9)). When this in-core journal gets full we need > to flush it to disk. Previously we had used VOP_WRITE() for this, but > it was suggested, and I agree that we should use either VOP_STRATEGY > or brwite/bread for our IO work. Both of these require a "struct buf" > to do their work. What is the appropriate way to get such a > structure? I have seen gbincore() used in similar cases, but it seems > that gbincore(), like many of the other buf(9) routines are for > getting an already allocated struct buf from the system pool; for > example gbincore checks that the lblkno of what is requested is the > name as the block already allocated in either the clean or dirty block > trees. If you don't need any delwri functionality struct buf provides, I would suggest using struct bio to route IO directly to storage drivers/geom. -- Alexander Kabaev From owner-freebsd-fs@FreeBSD.ORG Wed Mar 3 13:51:33 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C02C16A4CE for ; Wed, 3 Mar 2004 13:51:33 -0800 (PST) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B2E043D45 for ; Wed, 3 Mar 2004 13:51:32 -0800 (PST) (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.11/8.12.11) with ESMTP id i23LpBQx011002; Wed, 3 Mar 2004 22:51:12 +0100 (CET) (envelope-from phk@phk.freebsd.dk) To: Alexander Kabaev From: "Poul-Henning Kamp" In-Reply-To: Your message of "Thu, 04 Mar 2004 16:39:27 EST." <20040304163927.5babadf9@kanpc.gte.com> Date: Wed, 03 Mar 2004 22:51:11 +0100 Message-ID: <11001.1078350671@critter.freebsd.dk> cc: freebsd-fs@freebsd.org cc: "David E. Cross" Subject: Re: struct buf * and journaled-UFS help X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2004 21:51:33 -0000 In message <20040304163927.5babadf9@kanpc.gte.com>, Alexander Kabaev writes: >If you don't need any delwri functionality struct buf provides, I would >suggest using struct bio to route IO directly to storage drivers/geom. No, nono! nonononoOOOOO!!!! We do not want to maintain two I/O paths from one filesystem which already has it's laundry picked up in SPECFS. UFS must stick to the buffer cache for now. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. From owner-freebsd-fs@FreeBSD.ORG Wed Mar 3 14:20:52 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6446316A4CE for ; Wed, 3 Mar 2004 14:20:52 -0800 (PST) Received: from cliffclavin.cs.rpi.edu (cliffclavin.cs.rpi.edu [128.213.1.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id F0B0443D2D for ; Wed, 3 Mar 2004 14:20:51 -0800 (PST) (envelope-from crossd@cs.rpi.edu) Received: from 128.213.12.18 (rexx.cs.rpi.edu [128.213.12.18]) i23MKpn7018120 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 3 Mar 2004 17:20:51 -0500 (EST) From: "David E. Cross" To: freebsd-fs@freebsd.org In-Reply-To: <11001.1078350671@critter.freebsd.dk> References: <11001.1078350671@critter.freebsd.dk> Content-Type: text/plain Message-Id: <1078352449.454.14.camel@rexx.cs.rpi.edu> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.3 Date: 03 Mar 2004 17:20:51 -0500 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.37 Subject: Re: struct buf * and journaled-UFS help X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2004 22:20:52 -0000 Well, I can agree with that.... Now, "how" do I get a struct buf *? -- David E. Cross On Wed, 2004-03-03 at 16:51, Poul-Henning Kamp wrote: > In message <20040304163927.5babadf9@kanpc.gte.com>, Alexander Kabaev writes: > > >If you don't need any delwri functionality struct buf provides, I would > >suggest using struct bio to route IO directly to storage drivers/geom. > > No, nono! nonononoOOOOO!!!! > > We do not want to maintain two I/O paths from one filesystem which > already has it's laundry picked up in SPECFS. > > UFS must stick to the buffer cache for now. From owner-freebsd-fs@FreeBSD.ORG Wed Mar 3 14:34:33 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9561E16A4CE for ; Wed, 3 Mar 2004 14:34:33 -0800 (PST) Received: from smtp01.syd.iprimus.net.au (smtp01.syd.iprimus.net.au [210.50.30.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F99943D2D for ; Wed, 3 Mar 2004 14:34:33 -0800 (PST) (envelope-from tim@robbins.dropbear.id.au) Received: from robbins.dropbear.id.au (210.50.112.122) by smtp01.syd.iprimus.net.au (7.0.024) id 402BA92700649B4F; Thu, 4 Mar 2004 09:34:00 +1100 Received: by robbins.dropbear.id.au (Postfix, from userid 1000) id 81DBE4163; Thu, 4 Mar 2004 09:34:10 +1100 (EST) Date: Thu, 4 Mar 2004 09:34:10 +1100 From: Tim Robbins To: "David E. Cross" Message-ID: <20040303223410.GA65322@cat.robbins.dropbear.id.au> References: <11001.1078350671@critter.freebsd.dk> <1078352449.454.14.camel@rexx.cs.rpi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1078352449.454.14.camel@rexx.cs.rpi.edu> User-Agent: Mutt/1.4.1i cc: freebsd-fs@freebsd.org Subject: Re: struct buf * and journaled-UFS help X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2004 22:34:33 -0000 On Wed, Mar 03, 2004 at 05:20:51PM -0500, David E. Cross wrote: > Well, I can agree with that.... Now, "how" do I get a struct buf *? Generally, bread() or getblk() on a vnode. The vnode can either be that of the underlying special device (um_devvp), or, if your journal is going to appear as a file on disk, that file's vnode (use VFS_VGET() if the inode number is fixed, or namei() if it isn't.) Tim From owner-freebsd-fs@FreeBSD.ORG Fri Mar 5 14:50:08 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 200DE16A4CF for ; Fri, 5 Mar 2004 14:50:08 -0800 (PST) Received: from snowhite.cis.uoguelph.ca (snowhite.cis.uoguelph.ca [131.104.48.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id A4CEC43D45 for ; Fri, 5 Mar 2004 14:50:07 -0800 (PST) (envelope-from rick@snowhite.cis.uoguelph.ca) Received: (from rick@localhost) by snowhite.cis.uoguelph.ca (8.9.3/8.9.3) id RAA68715 for freebsd-fs@freebsd.org; Fri, 5 Mar 2004 17:50:30 -0500 (EST) Date: Fri, 5 Mar 2004 17:50:30 -0500 (EST) From: rick@snowhite.cis.uoguelph.ca Message-Id: <200403052250.RAA68715@snowhite.cis.uoguelph.ca> To: freebsd-fs@freebsd.org Subject: newnfsd's stuck on "ufs" X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Mar 2004 22:50:08 -0000 I'm working away at porting my NFSv4 server to FreeBSD5.2. It goes along ok for a while, but when doing several ops concurrently, most of the nfsd threads end up stuck sleeping on "ufs" as shown by the attached "ps axl". (The amusing part is that, once all but one thread is stuck, the last thread works fine. In other words, the "fix" is to only run one newnfsd:-) Anybody happen to know off the top of head, what I've screwed up? Thanks for any hints, rick --- ps axl of newnfsd --- 0 523 522 0 4 0 1192 736 nfsd I ?? 0:05.34 newnfsd: ser 0 524 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 525 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 526 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 527 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 528 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 529 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 530 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 531 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser 0 532 522 0 4 0 1192 736 nfsd I ?? 0:00.01 newnfsd: ser From owner-freebsd-fs@FreeBSD.ORG Fri Mar 5 15:56:51 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BAF5516A4CE for ; Fri, 5 Mar 2004 15:56:51 -0800 (PST) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7069543D1D for ; Fri, 5 Mar 2004 15:56:51 -0800 (PST) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9p2/8.12.9) with ESMTP id i25Nuh7E008690; Fri, 5 Mar 2004 15:56:48 -0800 (PST) (envelope-from truckman@FreeBSD.org) Message-Id: <200403052356.i25Nuh7E008690@gw.catspoiler.org> Date: Fri, 5 Mar 2004 15:56:43 -0800 (PST) From: Don Lewis To: rick@snowhite.cis.uoguelph.ca In-Reply-To: <200403052250.RAA68715@snowhite.cis.uoguelph.ca> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii cc: freebsd-fs@FreeBSD.org Subject: Re: newnfsd's stuck on "ufs" X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Mar 2004 23:56:51 -0000 On 5 Mar, rick@snowhite.cis.uoguelph.ca wrote: > I'm working away at porting my NFSv4 server to FreeBSD5.2. It goes along > ok for a while, but when doing several ops concurrently, most of the nfsd > threads end up stuck sleeping on "ufs" as shown by the attached "ps axl". > (The amusing part is that, once all but one thread is stuck, the last > thread works fine. In other words, the "fix" is to only run one newnfsd:-) > > Anybody happen to know off the top of head, what I've screwed up? > > Thanks for any hints, rick > --- ps axl of newnfsd --- > 0 523 522 0 4 0 1192 736 nfsd I ?? 0:05.34 newnfsd: ser > 0 524 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser > 0 525 522 0 -4 0 1192 736 ufs D ?? 0:00.02 newnfsd: ser Most likely a vnode locking bug. Rebuild the kernel with options DEBUG_VFS_LOCKS options DDB and see what it turns up. There are some tuneable variables you can tweak in DDB to tune the behaviour of the debugging code. int vfs_badlock_ddb = 1; /* Drop into debugger on violation. */ int vfs_badlock_mutex = 1; /* Check for interlock across VOPs. */ int vfs_badlock_print = 1; /* Print lock violations. */ The default is to drop into DDB every time a vnode lock assertion is violated. If you turn off vfs_badlock_ddb, the assertion violations will just spam the console. From owner-freebsd-fs@FreeBSD.ORG Sat Mar 6 11:34:32 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3379316A4CE for ; Sat, 6 Mar 2004 11:34:32 -0800 (PST) Received: from happy.cow.org (happy.cow.org [216.130.13.100]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0814243D39 for ; Sat, 6 Mar 2004 11:34:32 -0800 (PST) (envelope-from ravi@cow.org) Received: by happy.cow.org (Postfix, from userid 1001) id D2A6AEB74F; Sat, 6 Mar 2004 14:34:25 -0500 (EST) Date: Sat, 6 Mar 2004 14:34:25 -0500 From: ravi pina To: freebsd-fs@freebsd.org Message-ID: <20040306193425.GN27094@happy.cow.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i Subject: bad blocks X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: ravi@cow.org List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Mar 2004 19:34:32 -0000 hi. my previous problem involved my raid failed. i managed to get some data off of it with much help from various people. thank you. now that i've replaced the disk i created a new raid5 and initted the array. the new fs completed and i started copying some data to the array. i got the following on a rather large copy: bad block 1216479232, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block -560005120, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block 1482424320, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block 775028736, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block 1216479232, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block -598016000, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block 1482424320, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block 775028736, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block bad block 1216479232, ino 36090065 pid 5 (syncer), uid 1001 on /stuff: bad block handle_workitem_freeblocks: block count so i now suspect that there is another failed or failing disk in the array. what i'd like to do is create 4 JBODs one for each disk and do some verify on them. does a utility exist that will verify the media of the disk and then map out the bad sectors? it seems that the 3ware failed to identify any failed blocks on the init. thanks again, -r -- From owner-freebsd-fs@FreeBSD.ORG Sat Mar 6 16:55:57 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8FAB116A4CE; Sat, 6 Mar 2004 16:55:57 -0800 (PST) Received: from sakura.ninth-nine.com (sakura.ninth-nine.com [219.127.74.120]) by mx1.FreeBSD.org (Postfix) with ESMTP id E7DE043D2F; Sat, 6 Mar 2004 16:55:56 -0800 (PST) (envelope-from nork@FreeBSD.org) Received: from pelsia.ninth-nine.com (bmdi3088.bmobile.ne.jp [202.221.175.88]) (authenticated bits=0) by sakura.ninth-nine.com (8.12.10/8.12.10/NinthNine) with ESMTP id i270tkKJ097306 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 7 Mar 2004 09:55:51 +0900 (JST) (envelope-from nork@FreeBSD.org) Date: Sun, 7 Mar 2004 09:55:44 +0900 From: Norikatsu Shigemura To: Yar Tikhiy Message-Id: <20040307095544.5175df9f.nork@FreeBSD.org> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: fs@FreeBSD.org Subject: Fix build error by NULL cast change X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Mar 2004 00:55:57 -0000 Hi Yar. I fixed build error by recently NULL cast change. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- hfs-freebsd-03p1/freebsd/mount_hfs/mount_hfs.c.orig Sat Aug 9 21:23:47 2003 +++ hfs-freebsd-03p1/freebsd/mount_hfs/mount_hfs.c Sun Mar 7 09:45:06 2004 @@ -58,7 +58,7 @@ MOPT_STDOPTS, MOPT_FORCE, MOPT_UPDATE, - { NULL, NULL, NULL, NULL } + { NULL, 0, 0, 0 } }; static gid_t a_gid __P((char *)); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -