From owner-freebsd-fs Sun Jun 21 21:51:43 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA11807 for freebsd-fs-outgoing; Sun, 21 Jun 1998 21:51:43 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from bandicoot.prth.tensor.pgs.com (bandicoot.prth.tensor.pgs.com [157.147.224.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA11754; Sun, 21 Jun 1998 21:51:20 -0700 (PDT) (envelope-from shocking@ariadne.prth.tensor.pgs.com) Received: from ariadne.tensor.pgs.com (ariadne [157.147.227.36]) by bandicoot.prth.tensor.pgs.com (8.8.8/8.8.8) with SMTP id MAA15280; Mon, 22 Jun 1998 12:50:29 +0800 (WST) Received: from ariadne by ariadne.tensor.pgs.com (SMI-8.6/SMI-SVR4) id MAA15275; Mon, 22 Jun 1998 12:50:45 +0800 Message-Id: <199806220450.MAA15275@ariadne.tensor.pgs.com> X-Mailer: exmh version 2.0.2 2/24/98 To: hackers@FreeBSD.ORG, fs@FreeBSD.ORG Subject: Clusters, Distributed File Systems and FreeBSD Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 22 Jun 1998 12:50:45 +0800 From: Stephen Hocking-Senior Programmer PGS Tensor Perth Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Is anyone doing work on distributed filesystems (where files can be spread across > 1 node) on FreeBSD? The reason I'm interested is because I'm working for a Seismic DP company, and we use clusters all over the place (mainly IBM SP2 systems). They share filesystems using PIOFS, where each node has a 4GB disk shared out out. These are combined together and seen as one ginormous fs. I'm hoping to port our software environment to FreeBSD, initially having it set up for an SMP environment (it's based around PVM/MPI, BTW) as I only have one node. As time & finances permit, I'll purchase up to 4 boxes using cheap hardware for a proof of concept. I'm not expecting earth-shattering performance, it's being done mostly to satisfy my own curiousity. Stephen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Mon Jun 22 10:16:47 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA07129 for freebsd-fs-outgoing; Mon, 22 Jun 1998 10:16:47 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from smtp02.primenet.com (daemon@smtp02.primenet.com [206.165.6.132]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id KAA07073; Mon, 22 Jun 1998 10:16:21 -0700 (PDT) (envelope-from tlambert@usr06.primenet.com) Received: (from daemon@localhost) by smtp02.primenet.com (8.8.8/8.8.8) id KAA12500; Mon, 22 Jun 1998 10:16:15 -0700 (MST) Received: from usr06.primenet.com(206.165.6.206) via SMTP by smtp02.primenet.com, id smtpd012376; Mon Jun 22 10:16:02 1998 Received: (from tlambert@localhost) by usr06.primenet.com (8.8.5/8.8.5) id KAA11088; Mon, 22 Jun 1998 10:15:55 -0700 (MST) From: Terry Lambert Message-Id: <199806221715.KAA11088@usr06.primenet.com> Subject: Re: Stackable filesystems and SunOS 4.1.1 To: michaelh@cet.co.jp (Michael Hancock) Date: Mon, 22 Jun 1998 17:15:53 +0000 (GMT) Cc: Matthew.Alton@anheuser-busch.com, tlambert@primenet.com, johnh@isi.edu, FreeBSD-fs@FreeBSD.ORG, Hackers@FreeBSD.ORG, Scott.Smallie@anheuser-busch.com In-Reply-To: from "Michael Hancock" at Jun 21, 98 09:24:10 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > I think it is definitely worthwhile to review John's work. The approach > you suggested earlier can easily be made portable, but it is a very very > large project. It reminds me of how Oracle or Sybase are implemented as > large systems with OS-like features. Just implementing the name space > subsystem is not a trivial undertaking. Have a look at namei() and you'll > understand what I'm talking about. Actually, this is false. Three of us implemented full source level FS module portability between FreeBSD and Windows 95 for my previous employer; it wasn't that much work. We also implemented soft updates in FFS before Kirk did (though only in the Windows 95 environment). I personally did the code to support multiple name spaces and Unicode simultaneously through namei. FS work is like any other kernel work; it's not a realm of dark magic... if it's a realm of dark anything, it's a realm of dark politics. The real issue is that there are a lot of people who feel the need for perfect understanding before allowing a change in. Thankfully, there has been a significant uptrend in knowledgable FS hackers recently. I truly don't think the project is that large (having argued for it six ways from Sunday since I first contacted John about including his code in 4.3 based FreeBSD in early 1994). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Mon Jun 22 10:24:29 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA08661 for freebsd-fs-outgoing; Mon, 22 Jun 1998 10:24:29 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from critter.freebsd.dk (critter.freebsd.dk [195.8.129.14]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id KAA08495; Mon, 22 Jun 1998 10:23:58 -0700 (PDT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.8.7/8.8.5) with ESMTP id TAA04469; Mon, 22 Jun 1998 19:21:36 +0200 (CEST) To: Terry Lambert cc: michaelh@cet.co.jp (Michael Hancock), Matthew.Alton@anheuser-busch.com, johnh@isi.edu, FreeBSD-fs@FreeBSD.ORG, Hackers@FreeBSD.ORG, Scott.Smallie@anheuser-busch.com Subject: Re: Stackable filesystems and SunOS 4.1.1 In-reply-to: Your message of "Mon, 22 Jun 1998 17:15:53 -0000." <199806221715.KAA11088@usr06.primenet.com> Date: Mon, 22 Jun 1998 19:21:36 +0200 Message-ID: <4467.898536096@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Wow, all that and still not peace in Yugoslavia ??? -- Poul-Henning Kamp FreeBSD coreteam member phk@FreeBSD.ORG "Real hackers run -current on their laptop." "ttyv0" -- What UNIX calls a $20K state-of-the-art, 3D, hi-res color terminal To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Mon Jun 22 10:46:42 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA12894 for freebsd-fs-outgoing; Mon, 22 Jun 1998 10:46:42 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from smtp03.primenet.com (daemon@smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id KAA12834; Mon, 22 Jun 1998 10:46:20 -0700 (PDT) (envelope-from tlambert@usr06.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.8.8/8.8.8) id KAA01060; Mon, 22 Jun 1998 10:45:18 -0700 (MST) Received: from usr06.primenet.com(206.165.6.206) via SMTP by smtp03.primenet.com, id smtpd000923; Mon Jun 22 10:45:13 1998 Received: (from tlambert@localhost) by usr06.primenet.com (8.8.5/8.8.5) id KAA12192; Mon, 22 Jun 1998 10:44:56 -0700 (MST) From: Terry Lambert Message-Id: <199806221744.KAA12192@usr06.primenet.com> Subject: Re: Stackable filesystems and SunOS 4.1.1 To: phk@critter.freebsd.dk (Poul-Henning Kamp) Date: Mon, 22 Jun 1998 17:44:56 +0000 (GMT) Cc: tlambert@primenet.com, michaelh@cet.co.jp, Matthew.Alton@anheuser-busch.com, johnh@isi.edu, FreeBSD-fs@FreeBSD.ORG, Hackers@FreeBSD.ORG, Scott.Smallie@anheuser-busch.com In-Reply-To: <4467.898536096@critter.freebsd.dk> from "Poul-Henning Kamp" at Jun 22, 98 07:21:36 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Wow, all that and still not peace in Yugoslavia ??? Heh. 8-). Give us time... Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Mon Jun 22 18:41:35 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA00812 for freebsd-fs-outgoing; Mon, 22 Jun 1998 18:41:35 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA00784; Mon, 22 Jun 1998 18:41:13 -0700 (PDT) (envelope-from michaelh@cet.co.jp) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.8/CET-v2.2) with SMTP id BAA18350; Tue, 23 Jun 1998 01:30:09 GMT Date: Tue, 23 Jun 1998 10:30:09 +0900 (JST) From: Michael Hancock To: Terry Lambert cc: Matthew.Alton@anheuser-busch.com, FreeBSD-fs@FreeBSD.ORG, FreeBSD Hackers , Scott.Smallie@anheuser-busch.com Subject: Re: Stackable filesystems and SunOS 4.1.1 In-Reply-To: <199806221715.KAA11088@usr06.primenet.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Terry, You're missing the point. The original proposal was for a non-stacked userland fs development environment where everything was to implemented from scratch so that it could be made as portable as possible. Is this ... 1) easy 2) less easy ... compared to the approach you used at your previous employer. ;-) Regards, Mike Hancock On Mon, 22 Jun 1998, Terry Lambert wrote: > > I think it is definitely worthwhile to review John's work. The approach > > you suggested earlier can easily be made portable, but it is a very very > > large project. It reminds me of how Oracle or Sybase are implemented as > > large systems with OS-like features. Just implementing the name space > > subsystem is not a trivial undertaking. Have a look at namei() and you'll > > understand what I'm talking about. > > Actually, this is false. Three of us implemented full source level FS > module portability between FreeBSD and Windows 95 for my previous > employer; it wasn't that much work. > > We also implemented soft updates in FFS before Kirk did (though only > in the Windows 95 environment). > > I personally did the code to support multiple name spaces and Unicode > simultaneously through namei. > > FS work is like any other kernel work; it's not a realm of dark magic... > if it's a realm of dark anything, it's a realm of dark politics. The > real issue is that there are a lot of people who feel the need for > perfect understanding before allowing a change in. Thankfully, there > has been a significant uptrend in knowledgable FS hackers recently. > > I truly don't think the project is that large (having argued for it > six ways from Sunday since I first contacted John about including > his code in 4.3 based FreeBSD in early 1994). > > > Terry Lambert > terry@lambert.org > --- > Any opinions in this posting are my own and not those of my present > or previous employers. > -- michaelh@cet.co.jp http://www.cet.co.jp CET Inc., Daiichi Kasuya BLDG 8F, 2-5-12 Higashi Shinbashi, Minato-ku, Tokyo 105 Japan Tel: +81-3-3437-1761 Fax: +81-3-3437-1766 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Mon Jun 22 19:07:17 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA00812 for freebsd-fs-outgoing; Mon, 22 Jun 1998 18:41:35 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA00784; Mon, 22 Jun 1998 18:41:13 -0700 (PDT) (envelope-from michaelh@cet.co.jp) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.8/CET-v2.2) with SMTP id BAA18350; Tue, 23 Jun 1998 01:30:09 GMT Date: Tue, 23 Jun 1998 10:30:09 +0900 (JST) From: Michael Hancock To: Terry Lambert cc: Matthew.Alton@anheuser-busch.com, FreeBSD-fs@FreeBSD.ORG, FreeBSD Hackers , Scott.Smallie@anheuser-busch.com Subject: Re: Stackable filesystems and SunOS 4.1.1 In-Reply-To: <199806221715.KAA11088@usr06.primenet.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Terry, You're missing the point. The original proposal was for a non-stacked userland fs development environment where everything was to implemented from scratch so that it could be made as portable as possible. Is this ... 1) easy 2) less easy ... compared to the approach you used at your previous employer. ;-) Regards, Mike Hancock On Mon, 22 Jun 1998, Terry Lambert wrote: > > I think it is definitely worthwhile to review John's work. The approach > > you suggested earlier can easily be made portable, but it is a very very > > large project. It reminds me of how Oracle or Sybase are implemented as > > large systems with OS-like features. Just implementing the name space > > subsystem is not a trivial undertaking. Have a look at namei() and you'll > > understand what I'm talking about. > > Actually, this is false. Three of us implemented full source level FS > module portability between FreeBSD and Windows 95 for my previous > employer; it wasn't that much work. > > We also implemented soft updates in FFS before Kirk did (though only > in the Windows 95 environment). > > I personally did the code to support multiple name spaces and Unicode > simultaneously through namei. > > FS work is like any other kernel work; it's not a realm of dark magic... > if it's a realm of dark anything, it's a realm of dark politics. The > real issue is that there are a lot of people who feel the need for > perfect understanding before allowing a change in. Thankfully, there > has been a significant uptrend in knowledgable FS hackers recently. > > I truly don't think the project is that large (having argued for it > six ways from Sunday since I first contacted John about including > his code in 4.3 based FreeBSD in early 1994). > > > Terry Lambert > terry@lambert.org > --- > Any opinions in this posting are my own and not those of my present > or previous employers. > -- michaelh@cet.co.jp http://www.cet.co.jp CET Inc., Daiichi Kasuya BLDG 8F, 2-5-12 Higashi Shinbashi, Minato-ku, Tokyo 105 Japan Tel: +81-3-3437-1761 Fax: +81-3-3437-1766 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Mon Jun 22 20:54:32 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA18092 for freebsd-fs-outgoing; Mon, 22 Jun 1998 20:54:32 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from smtp02.primenet.com (daemon@smtp02.primenet.com [206.165.6.132]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA18057; Mon, 22 Jun 1998 20:54:22 -0700 (PDT) (envelope-from tlambert@usr09.primenet.com) Received: (from daemon@localhost) by smtp02.primenet.com (8.8.8/8.8.8) id UAA24405; Mon, 22 Jun 1998 20:54:14 -0700 (MST) Received: from usr09.primenet.com(206.165.6.209) via SMTP by smtp02.primenet.com, id smtpd024319; Mon Jun 22 20:54:08 1998 Received: (from tlambert@localhost) by usr09.primenet.com (8.8.5/8.8.5) id UAA06135; Mon, 22 Jun 1998 20:54:01 -0700 (MST) From: Terry Lambert Message-Id: <199806230354.UAA06135@usr09.primenet.com> Subject: Re: Stackable filesystems and SunOS 4.1.1 To: michaelh@cet.co.jp (Michael Hancock) Date: Tue, 23 Jun 1998 03:54:00 +0000 (GMT) Cc: tlambert@primenet.com, Matthew.Alton@anheuser-busch.com, FreeBSD-fs@FreeBSD.ORG, Hackers@FreeBSD.ORG, Scott.Smallie@anheuser-busch.com In-Reply-To: from "Michael Hancock" at Jun 23, 98 10:30:09 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > You're missing the point. The original proposal was for a non-stacked > userland fs development environment where everything was to implemented > from scratch so that it could be made as portable as possible. > > Is this ... > > 1) easy > 2) less easy > > ... compared to the approach you used at your previous employer. ;-) Do I get all the VOP patches and private vnode management patches, and my own advisory locking patches (it's easy to proxy a veto interface, hard to proxy a lockmgr() call) and my namei() patches (the origin of ISUNICODE in namei.h) and nameifree() as a base to work with? If so, then it's about the same. Much of the work in Windows 95 was mapping the IFSMgr calls to VOP's, on the top end, and emulating about 70 kernel interfaces (down from the 126 FreeBSD's FFS requires) in Windows 95 Ring 0. Much of the complexity there was in the timer outcall for the syncd, since Windows 95 "semaphores" are unfortunately thread reentrant. Most of the remaining 70 interfaces have corrolaries in FreeBSD user space, being that FreeBSD is FreeBSD derived. 8-). Do I have to proxy the grotesqueries that are the cookie interface, instead of spliting the directory lookup, directory entry copyout, the nameifree() asymmetry, etc.? Then it's about twice the work. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Tue Jun 23 01:39:00 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA22262 for freebsd-fs-outgoing; Tue, 23 Jun 1998 01:39:00 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from bandicoot.prth.tensor.pgs.com (bandicoot.prth.tensor.pgs.com [157.147.224.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA22219; Tue, 23 Jun 1998 01:38:54 -0700 (PDT) (envelope-from shocking@ariadne.prth.tensor.pgs.com) Received: from ariadne.tensor.pgs.com (ariadne [157.147.227.36]) by bandicoot.prth.tensor.pgs.com (8.8.8/8.8.8) with SMTP id QAA11992; Tue, 23 Jun 1998 16:38:02 +0800 (WST) Received: from ariadne by ariadne.tensor.pgs.com (SMI-8.6/SMI-SVR4) id QAA22217; Tue, 23 Jun 1998 16:38:17 +0800 Message-Id: <199806230838.QAA22217@ariadne.tensor.pgs.com> X-Mailer: exmh version 2.0.2 2/24/98 To: current@FreeBSD.ORG cc: fs@FreeBSD.ORG Subject: Just how stackable is our FS code? Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 23 Jun 1998 16:38:17 +0800 From: Stephen Hocking-Senior Programmer PGS Tensor Perth Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I was thinking of a file system that's layered over both local & NFS filesystems, effectively doing similar volume management to vinum, but on a distributed basis. This means a namespace that's unique within a group of machines, with the ability to have a file spanning more than one node/partition. Stephen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Tue Jun 23 05:33:13 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id FAA03398 for freebsd-fs-outgoing; Tue, 23 Jun 1998 05:33:13 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from spinner.netplex.com.au (spinner.netplex.com.au [202.12.86.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id FAA03386; Tue, 23 Jun 1998 05:33:02 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from spinner.netplex.com.au (localhost [127.0.0.1]) by spinner.netplex.com.au (8.8.8/8.8.8/Spinner) with ESMTP id UAA06651; Tue, 23 Jun 1998 20:32:18 +0800 (WST) (envelope-from peter@spinner.netplex.com.au) Message-Id: <199806231232.UAA06651@spinner.netplex.com.au> X-Mailer: exmh version 2.0.2 2/24/98 To: Stephen Hocking-Senior Programmer PGS Tensor Perth cc: current@FreeBSD.ORG, fs@FreeBSD.ORG Subject: Re: Just how stackable is our FS code? In-reply-to: Your message of "Tue, 23 Jun 1998 16:38:17 +0800." <199806230838.QAA22217@ariadne.tensor.pgs.com> Date: Tue, 23 Jun 1998 20:32:17 +0800 From: Peter Wemm Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Stephen Hocking-Senior Programmer PGS Tensor Perth wrote: > > I was thinking of a file system that's layered over both local & NFS > filesystems, effectively doing similar volume management to vinum, but on a > distributed basis. This means a namespace that's unique within a group of > machines, with the ability to have a file spanning more than one > node/partition. How stackable? Depends who you ask. :-) Michael Hancock (sp?) has been doing some good stuff with cleaning up of the allocation and freeing of locks and resources, but there's more work to do still. You might find that the remaining warts will make life truely "interesting". There are a number of unresolved issues with the vnode locked/unlocked protocol as well as advisory file locking and directory cookies and readdir/lseek interaction etc. > Stephen Cheers, -Peter -- Peter Wemm Netplex Consulting To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Tue Jun 23 14:09:20 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA07193 for freebsd-fs-outgoing; Tue, 23 Jun 1998 14:09:20 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA07170; Tue, 23 Jun 1998 14:09:12 -0700 (PDT) (envelope-from michaelh@cet.co.jp) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.8/CET-v2.2) with SMTP id VAA24565; Tue, 23 Jun 1998 21:07:19 GMT Date: Wed, 24 Jun 1998 06:07:19 +0900 (JST) From: Michael Hancock To: Terry Lambert cc: Matthew.Alton@anheuser-busch.com, FreeBSD-fs@FreeBSD.ORG, Hackers@FreeBSD.ORG, Scott.Smallie@anheuser-busch.com Subject: Re: Stackable filesystems and SunOS 4.1.1 In-Reply-To: <199806230354.UAA06135@usr09.primenet.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 23 Jun 1998, Terry Lambert wrote: > Do I have to proxy the grotesqueries that are the cookie interface, > instead of spliting the directory lookup, directory entry copyout, > the nameifree() asymmetry, etc.? Then it's about twice the work. I agree that the way the path buf is being freed is bogus. This becomes obvious when you look at vop_abortop implementations for ffs, ext2fs, etc. IMHO, if you freshen up your nameifree() patches without changing goto label names, exit points, whitespace style, and variables names in the FreeBSD source base; then you will have a better chance of getting the code committed. It makes it easier to review the patches and it will also be easier to track enhancements from other BSDs if you do it this way. Also, I think testset was a pretty cool tool for testing these changes. Did you port it to current? I used this as a base for testvn. Check out ~mch on freefall. Regards, Mike Hancock To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Wed Jun 24 09:03:35 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA28532 for freebsd-fs-outgoing; Wed, 24 Jun 1998 09:03:35 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.15.68.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA28376 for ; Wed, 24 Jun 1998 09:02:51 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id CAA24267 for fs@freebsd.org; Thu, 25 Jun 1998 02:02:34 +1000 Date: Thu, 25 Jun 1998 02:02:34 +1000 From: Bruce Evans Message-Id: <199806241602.CAA24267@godzilla.zeta.org.au> To: fs@FreeBSD.ORG Subject: lazy syncing of timestamps for special files Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org These changes implement delaying until vnode reclamation time of writing timestamps for special files. This is most useful for preventing disk activity on laptops just because something wrote to a terminal (see PR5577 for a broken version). Please review. Bruce diff -c2 src/sys/ufs/ffs/ffs_inode.c~ src/sys/ufs/ffs/ffs_inode.c *** src/sys/ufs/ffs/ffs_inode.c~ Mon Jun 15 19:42:33 1998 --- src/sys/ufs/ffs/ffs_inode.c Wed Jun 24 23:35:29 1998 *************** *** 67,71 **** * from the second and third parameters; the inode change time is always * taken from the current time. If waitfor is set, then wait for the disk ! * write of the inode to complete. */ int --- 67,73 ---- * from the second and third parameters; the inode change time is always * taken from the current time. If waitfor is set, then wait for the disk ! * write of the inode to complete. The IN_LAZYMOD flag is used to specify ! * that the inode has been modified but the modified inode should not be ! * written unless IN_MODIFIED is set. */ int *************** *** 83,107 **** ip = VTOI(vp); if (vp->v_mount->mnt_flag & MNT_RDONLY) { ! ip->i_flag &= ! ~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE); return (0); } ! if (((ip->i_flag & ! (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0) && ! (waitfor != MNT_WAIT)) return (0); ! /* ! * XXX: Some callers make a copy too early (before the i/o has ! * completed)... ! */ ! if (ip->i_flag & IN_ACCESS) ! ip->i_atime = access->tv_sec; ! if (ip->i_flag & IN_UPDATE) { ! ip->i_mtime = modify->tv_sec; ! ip->i_modrev++; ! } ! if (ip->i_flag & IN_CHANGE) ! ip->i_ctime = time_second; ! ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE); fs = ip->i_fs; /* --- 85,116 ---- ip = VTOI(vp); if (vp->v_mount->mnt_flag & MNT_RDONLY) { ! ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_LAZYMOD | ! IN_MODIFIED | IN_UPDATE); return (0); } ! if (ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE)) { ! if (vp->v_type == VBLK || vp->v_type == VCHR) ! ip->i_flag |= IN_LAZYMOD; ! else ! ip->i_flag |= IN_MODIFIED; ! /* ! * XXX some callers copy the access or modification time ! * from the current time too early (before i/o has completed). ! * XXX should set ctime to the same as the atime and mtime in ! * some cases? ! */ ! if (ip->i_flag & IN_ACCESS) ! ip->i_atime = access->tv_sec; ! if (ip->i_flag & IN_UPDATE) { ! ip->i_mtime = modify->tv_sec; ! ip->i_modrev++; ! } ! if (ip->i_flag & IN_CHANGE) ! ip->i_ctime = time_second; ! ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_UPDATE); ! } ! if ((ip->i_flag & IN_MODIFIED) == 0 && waitfor == 0) return (0); ! ip->i_flag &= ~(IN_LAZYMOD | IN_MODIFIED); fs = ip->i_fs; /* diff -c2 src/sys/ufs/ufs/inode.h~ src/sys/ufs/ufs/inode.h *** src/sys/ufs/ufs/inode.h~ Fri Mar 27 18:45:21 1998 --- src/sys/ufs/ufs/inode.h Wed Apr 29 19:34:22 1998 *************** *** 128,131 **** --- 129,133 ---- #define IN_EXLOCK 0x0040 /* File has exclusive lock. */ #define IN_HASHED 0x0080 /* Inode is on hash list */ + #define IN_LAZYMOD 0x0100 /* Modified, but don't write yet. */ #ifdef KERNEL diff -c2 src/sys/ufs/ufs/ufs_inode.c~ src/sys/ufs/ufs/ufs_inode.c *** src/sys/ufs/ufs/ufs_inode.c~ Thu Apr 2 23:22:41 1998 --- src/sys/ufs/ufs/ufs_inode.c Thu Jun 25 00:39:06 1998 *************** *** 117,120 **** --- 117,121 ---- register struct inode *ip; register struct vnode *vp = ap->a_vp; + struct timeval tv; #ifdef QUOTA int i; *************** *** 123,130 **** if (prtactive && vp->v_usecount != 0) vprint("ufs_reclaim: pushing active", vp); /* * Remove the inode from its hash chain. */ - ip = VTOI(vp); ufs_ihashrem(ip); /* --- 124,136 ---- if (prtactive && vp->v_usecount != 0) vprint("ufs_reclaim: pushing active", vp); + ip = VTOI(vp); + if (ip->i_flag & IN_LAZYMOD) { + ip->i_flag |= IN_MODIFIED; + getmicrotime(&tv); + UFS_UPDATE(vp, &tv, &tv, 0); + } /* * Remove the inode from its hash chain. */ ufs_ihashrem(ip); /* diff -c2 src/sys/ufs/ufs/ufs_vnops.c~ src/sys/ufs/ufs/ufs_vnops.c *** src/sys/ufs/ufs/ufs_vnops.c~ Tue Jun 9 23:56:39 1998 --- src/sys/ufs/ufs/ufs_vnops.c Thu Jun 25 00:13:50 1998 *************** *** 147,151 **** if ((vp->v_mount->mnt_flag & MNT_RDONLY) == 0) { tv_sec = time_second; ! ip->i_flag |= IN_MODIFIED; if (ip->i_flag & IN_ACCESS) ip->i_atime = tv_sec; --- 147,154 ---- if ((vp->v_mount->mnt_flag & MNT_RDONLY) == 0) { tv_sec = time_second; ! if (vp->v_type == VBLK || vp->v_type == VCHR) ! ip->i_flag |= IN_LAZYMOD; ! else ! ip->i_flag |= IN_MODIFIED; if (ip->i_flag & IN_ACCESS) ip->i_atime = tv_sec; diff -c2 src/sys/gnu/ext2fs/ext2_inode.c~ src/sys/gnu/ext2fs/ext2_inode.c *** src/sys/gnu/ext2fs/ext2_inode.c~ Mon Jun 22 16:36:50 1998 --- src/sys/gnu/ext2fs/ext2_inode.c Thu Jun 25 01:27:49 1998 *************** *** 73,82 **** /* * Update the access, modified, and inode change times as specified by the ! * IACCESS, IUPDATE, and ICHANGE flags respectively. The IMODIFIED flag is ! * used to specify that the inode needs to be updated but that the times have ! * already been set. The access and modified times are taken from the second ! * and third parameters; the inode change time is always taken from the current ! * time. If waitfor is set, then wait for the disk write of the inode to ! * complete. */ int --- 73,84 ---- /* * Update the access, modified, and inode change times as specified by the ! * IN_ACCESS, IN_UPDATE, and IN_CHANGE flags respectively. The IN_MODIFIED ! * flag is used to specify that the inode needs to be updated even if none ! * of the times needs to be updated. The access and modified times are taken ! * from the second and third parameters; the inode change time is always ! * taken from the current time. If waitfor is set, then wait for the disk ! * write of the inode to complete. The IN_LAZYMOD flag is used to specify ! * that the inode has been modified but the modified inode should not be ! * written unless IN_MODIFIED is set. */ int *************** *** 94,114 **** ip = VTOI(vp); if (vp->v_mount->mnt_flag & MNT_RDONLY) { ! ip->i_flag &= ! ~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE); return (0); } ! if ((ip->i_flag & ! (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0) ! return (0); ! if (ip->i_flag & IN_ACCESS) ! ip->i_atime = access->tv_sec; ! if (ip->i_flag & IN_UPDATE) { ! ip->i_mtime = modify->tv_sec; ! ip->i_modrev++; ! } ! if (ip->i_flag & IN_CHANGE) { ! ip->i_ctime = time_second; } ! ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE); fs = ip->i_e2fs; if (error = bread(ip->i_devvp, --- 96,121 ---- ip = VTOI(vp); if (vp->v_mount->mnt_flag & MNT_RDONLY) { ! ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_LAZYMOD | ! IN_MODIFIED | IN_UPDATE); return (0); } ! if (ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE)) { ! if (vp->v_type == VBLK || vp->v_type == VCHR) ! ip->i_flag |= IN_LAZYMOD; ! else ! ip->i_flag |= IN_MODIFIED; ! if (ip->i_flag & IN_ACCESS) ! ip->i_atime = access->tv_sec; ! if (ip->i_flag & IN_UPDATE) { ! ip->i_mtime = modify->tv_sec; ! ip->i_modrev++; ! } ! if (ip->i_flag & IN_CHANGE) ! ip->i_ctime = time_second; ! ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_UPDATE); } ! if ((ip->i_flag & IN_MODIFIED) == 0) ! return (0); ! ip->i_flag &= ~(IN_LAZYMOD | IN_MODIFIED); fs = ip->i_e2fs; if (error = bread(ip->i_devvp, To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Wed Jun 24 11:33:22 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA00818 for freebsd-fs-outgoing; Wed, 24 Jun 1998 11:33:22 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from dash.isi.edu (root@dash.isi.edu [128.9.160.184]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA00709; Wed, 24 Jun 1998 11:32:56 -0700 (PDT) (envelope-from johnh@dash.isi.edu) Received: from dash.isi.edu (johnh@localhost.isi.edu [127.0.0.1]) by dash.isi.edu (8.8.7/8.8.7) with ESMTP id LAA10210; Wed, 24 Jun 1998 11:31:02 -0700 Message-Id: <199806241831.LAA10210@dash.isi.edu> X-url: http://www.isi.edu/~johnh/ To: "Alton, Matthew" , "'Terry Lambert'" , FreeBSD-fs@FreeBSD.ORG, Hackers@FreeBSD.ORG, "Smallie, Scott" Subject: Re: Stackable filesystems and SunOS 4.1.1 In-reply-to: <31B3F0BF1C40D11192A700805FD48BF9017765F1@STLABCEXG011> Date: Wed, 24 Jun 1998 11:31:02 -0700 From: John Heidemann Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Back from a trip I can finally pick up this thread: On Wed, 17 Jun 1998 18:21:37 -0500, "Alton, Matthew" wrote: >... >It is conceivable that Sun may be persuaded to release the sources for a fee >a la SCO's "Ancient Versions" source license. If so, we FreeBeasties could >benifit from the mature SunOS 4.1.1 stackable filesystem code. Maybe we >should pester them. On Fri, 19 Jun 1998 10:48:51 -0500, "Alton, Matthew" wrote: > I apologize for being hopelessy vague and incomplete here. I was >thinking about > John Heidemann's work. His web page says that his primary development > platform was SunOS 4.1.1 and that there is "unsatisfactory" code in >Free- & > Net- BSD. I downloaded the necessarily incomplete (license issues)code >from > his site and was pining away for the rest. First, I don't think I've ever said the 4.4BSD stacking code was ``unsatisfactory''...it's just not a complete version of what was in the thesis. (This was for a variety of reasons, including time and other reasons.) For people wanting to expand BSD stacking, I can imagine some interesting projects: - adding support for user-level file-systems - replacing parallel lists of vnops in the filesystems (ex. ffs_{specop,fifoop}_opv_desc) with a generic ffs node that stacks over a spec/fifo node - building a real compression/encryption layer - structuring CD-ROM file systems as a set of layers (I don't know how hard this would be...) Of these things, none would hugely benefit from the SunOS-specific code. Only the first really requires code that's not already in BSD. Because of differences between BSD and SunOS' NFS implementations, I doubt full access to my modified SunOS-4.1.1 source code would substantally more helpful than just starting with the code on my web page, and it would raise lots of licensing issues that are best not messed with. More than more stacking infrastructure, I think BSD would benefit from more *use* of stacking (the last 3 bullets). -John Heidemann To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Wed Jun 24 12:17:58 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA09421 for freebsd-fs-outgoing; Wed, 24 Jun 1998 12:17:58 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from critter.freebsd.dk (critter.freebsd.dk [195.8.133.1] (may be forged)) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA09313 for ; Wed, 24 Jun 1998 12:17:12 -0700 (PDT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.8.7/8.8.5) with ESMTP id VAA02088; Wed, 24 Jun 1998 21:06:30 +0200 (CEST) To: Bruce Evans cc: fs@FreeBSD.ORG Subject: Re: lazy syncing of timestamps for special files In-reply-to: Your message of "Thu, 25 Jun 1998 02:02:34 +1000." <199806241602.CAA24267@godzilla.zeta.org.au> Date: Wed, 24 Jun 1998 21:06:28 +0200 Message-ID: <2086.898715188@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In message <199806241602.CAA24267@godzilla.zeta.org.au>, Bruce Evans writes: >These changes implement delaying until vnode reclamation time of writing >timestamps for special files. This is most useful for preventing >disk activity on laptops just because something wrote to a terminal >(see PR5577 for a broken version). > >Please review. I think the first part of {ffs,ext2}_update() should be put in an ufs_update() function which is called from those two places. Otherwise that rather hairy bit of code is going to suffer from even more cut&paste deterioration in the future. Otherwise it looks good. I'll run it on my laptop and see if I notice anything... -- Poul-Henning Kamp FreeBSD coreteam member phk@FreeBSD.ORG "Real hackers run -current on their laptop." "ttyv0" -- What UNIX calls a $20K state-of-the-art, 3D, hi-res color terminal To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Thu Jun 25 01:52:33 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA23833 for freebsd-fs-outgoing; Thu, 25 Jun 1998 01:52:33 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from boco.fee.vutbr.cz (boco.fee.vutbr.cz [147.229.9.11]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA23748 for ; Thu, 25 Jun 1998 01:52:11 -0700 (PDT) (envelope-from xcejka00@dcse.fee.vutbr.cz) Received: from kazi.dcse.fee.vutbr.cz (kazi.dcse.fee.vutbr.cz [147.229.9.51]) by boco.fee.vutbr.cz (8.9.0/8.9.0) with ESMTP id KAA21873; Thu, 25 Jun 1998 10:45:22 +0200 (MET DST) Received: from sts.dcse.fee.vutbr.cz (sts.dcse.fee.vutbr.cz [147.229.9.52]) by kazi.dcse.fee.vutbr.cz (8.8.8/8.8.8) with ESMTP id KAA14069; Thu, 25 Jun 1998 10:45:17 +0200 (CEST) Received: (from xcejka00@localhost) by sts.dcse.fee.vutbr.cz (8.8.5/8.8.5) id IAA20990; Thu, 25 Jun 1998 08:45:18 GMT Message-Id: <199806250845.IAA20990@sts.dcse.fee.vutbr.cz> Subject: Re: Stackable filesystems and SunOS To: freebsd-fs@FreeBSD.ORG Date: Thu, 25 Jun 1998 10:45:17 +0200 (MET DST) From: Cejka Rudolf Cc: johnh@isi.edu X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > John Heidemann wrote: > For people wanting to expand BSD stacking, I can imagine some > interesting projects: > > - adding support for user-level file-systems > > - replacing parallel lists of vnops in the filesystems > (ex. ffs_{specop,fifoop}_opv_desc) with a generic > ffs node that stacks over a spec/fifo node > > - building a real compression/encryption layer Heh. There _is_ basic small compression layer for FreeBSD 3.0. I made it. You can look at http://www.stud.fee.vutbr.cz/~xcejka00/dp_cejka.tar.gz _BUT_: * Sorry, it is in czech - my english capabilities are not sufficient and I have no time to make czech -> english conversions. But program part (comments) is in english. * My layer is totally unusable at this time because it is builded on nullfs basis and nullfs & FreeBSD 3.0 kernel is broken... (kern/6465). * It needs too much further work to make it good... > - structuring CD-ROM file systems as a set of layers > (I don't know how hard this would be...) -------------------------------------------------------------------------- Rudolf Cejka E-mail: xcejka00@dcse.fee.vutbr.cz Technical University of Brno, Faculty of El. Engineering and Comp. Science Bozetechova 2, 612 66 Brno, Czech Republic To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Thu Jun 25 01:53:30 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA24050 for freebsd-fs-outgoing; Thu, 25 Jun 1998 01:53:30 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from wipinfo.soft.net (agni.wipinfo.soft.net [164.164.6.20]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id BAA23885 for ; Thu, 25 Jun 1998 01:52:40 -0700 (PDT) (envelope-from hiren@tagore.wipinfo.soft.net) From: hiren@tagore.wipinfo.soft.net Received: from tagore.wipinfo.soft.net by wipinfo.soft.net (SMI-8.6/SMI-SVR4) id OAA12515; Thu, 25 Jun 1998 14:17:34 -0500 Message-ID: <9806251429.AA13782@tagore.wipinfo.soft.net> Subject: fat cache ? To: freebsd-fs@FreeBSD.ORG Date: Thu, 25 Jun 1998 14:29:05 +0530 (IST) Reply-To: hiren@tagore.wipinfo.soft.net Content-Type: text Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Return-Receipt-To:hiren X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 178 Can somebody give some information about the fat cache implementation of the msdosfs ? What is the purpose of it ? What kind of performance improvement does it give ? -- Hiren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Thu Jun 25 13:31:36 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA21462 for freebsd-fs-outgoing; Thu, 25 Jun 1998 13:31:36 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.15.68.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA21431 for ; Thu, 25 Jun 1998 13:31:15 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id TAA13824; Thu, 25 Jun 1998 19:55:36 +1000 Date: Thu, 25 Jun 1998 19:55:36 +1000 From: Bruce Evans Message-Id: <199806250955.TAA13824@godzilla.zeta.org.au> To: bde@zeta.org.au, phk@critter.freebsd.dk Subject: Re: lazy syncing of timestamps for special files Cc: fs@FreeBSD.ORG Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >I think the first part of {ffs,ext2}_update() should be put in an >ufs_update() function which is called from those two places. Most of the first part is also duplicated in itimes(). I'd like to call itimes() (perhaps renamed) from xxx_update(), but this requires reorganising UFS_UPDATE() to distinguish the cases where the atime and mtime are just the current time (all cases except xxx_setattr()). Perhaps the best reorganisation is to set the atime and mtime in xxx_setattr() and clear IN_ACCESS, etc. to reflect the update being performed, and not pass the atime and mtime to UFS_UPDATE(). Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Thu Jun 25 13:43:28 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA22977 for freebsd-fs-outgoing; Thu, 25 Jun 1998 13:43:28 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from critter.freebsd.dk (critter.freebsd.dk [195.8.133.1] (may be forged)) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA22904 for ; Thu, 25 Jun 1998 13:42:42 -0700 (PDT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.8.7/8.8.5) with ESMTP id WAA04099; Thu, 25 Jun 1998 22:40:19 +0200 (CEST) To: Bruce Evans cc: fs@FreeBSD.ORG Subject: Re: lazy syncing of timestamps for special files In-reply-to: Your message of "Thu, 25 Jun 1998 19:55:36 +1000." <199806250955.TAA13824@godzilla.zeta.org.au> Date: Thu, 25 Jun 1998 22:40:18 +0200 Message-ID: <4097.898807218@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In message <199806250955.TAA13824@godzilla.zeta.org.au>, Bruce Evans writes: >>I think the first part of {ffs,ext2}_update() should be put in an >>ufs_update() function which is called from those two places. > >Most of the first part is also duplicated in itimes(). I'd like to >call itimes() (perhaps renamed) from xxx_update(), but this requires >reorganising UFS_UPDATE() to distinguish the cases where the atime >and mtime are just the current time (all cases except xxx_setattr()). >Perhaps the best reorganisation is to set the atime and mtime in >xxx_setattr() and clear IN_ACCESS, etc. to reflect the update being >performed, and not pass the atime and mtime to UFS_UPDATE(). Sounds right to me, vop_setattr() clearly is the odd fish in the pond, so special-casing that one should make the rest pretty uniform... -- Poul-Henning Kamp FreeBSD coreteam member phk@FreeBSD.ORG "Real hackers run -current on their laptop." "ttyv0" -- What UNIX calls a $20K state-of-the-art, 3D, hi-res color terminal To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Fri Jun 26 17:37:30 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id RAA09626 for freebsd-fs-outgoing; Fri, 26 Jun 1998 17:37:30 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from bofh.cybercity.dk (bofh.cybercity.dk [195.8.137.150]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id RAA09571 for ; Fri, 26 Jun 1998 17:37:05 -0700 (PDT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (critter.freebsd.dk [195.8.133.1]) by bofh.cybercity.dk (8.8.3/8.7.3) with ESMTP id AAA18543 for ; Sat, 27 Jun 1998 00:40:24 +0200 (MET DST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.8.7/8.8.5) with ESMTP id AAA00254 for ; Sat, 27 Jun 1998 00:37:35 +0200 (CEST) To: fs@FreeBSD.ORG Subject: specfs oddity... From: Poul-Henning Kamp Date: Sat, 27 Jun 1998 00:37:34 +0200 Message-ID: <252.898900654@critter.freebsd.dk> Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Does anybody know why spec_open for VCHR devices does a VOP_UNLOCK() / vn_lock(vp, LK_EXCLUSIVE) around the devicedriver open routine but doesn't do it for VBLK devices ? -- Poul-Henning Kamp FreeBSD coreteam member phk@FreeBSD.ORG "Real hackers run -current on their laptop." "ttyv0" -- What UNIX calls a $20K state-of-the-art, 3D, hi-res color terminal To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Sat Jun 27 00:34:48 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA00843 for freebsd-fs-outgoing; Sat, 27 Jun 1998 00:34:48 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.15.68.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA00833; Sat, 27 Jun 1998 00:34:40 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id RAA02480; Sat, 27 Jun 1998 17:34:37 +1000 Date: Sat, 27 Jun 1998 17:34:37 +1000 From: Bruce Evans Message-Id: <199806270734.RAA02480@godzilla.zeta.org.au> To: fs@FreeBSD.ORG, phk@FreeBSD.ORG Subject: Re: specfs oddity... Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Does anybody know why spec_open for VCHR devices does a VOP_UNLOCK() / >vn_lock(vp, LK_EXCLUSIVE) around the devicedriver open routine but >doesn't do it for VBLK devices ? I think the vnode is left locked for bdev opens because unlocking would allow the !vfs_mountedon(vp) condition to change underneath. The vnode obviously has to be kept locked for bdev reads and writes because the inner i/o function (bread/bwrite) depends on the vnode. Unlocking/not locking is apparently safe for the other specfs operations (ioctls and closes are not locked to begin with). Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message