From owner-freebsd-fs Fri Feb 26 8:57: 7 1999 Delivered-To: freebsd-fs@freebsd.org Received: from relay1.mail.uk.psi.net (relay1.mail.uk.psi.net [154.32.105.6]) by hub.freebsd.org (Postfix) with ESMTP id DF48F14CC6 for ; Fri, 26 Feb 1999 08:57:02 -0800 (PST) (envelope-from smcintyr@allstor-sw.co.uk) Received: from mail.plasmon.co.uk ([193.115.5.217]) by relay1.mail.uk.psi.net with smtp (Exim 2.02 #3) id 10GQZ9-0002Fu-00 for freebsd-fs@freebsd.org; Fri, 26 Feb 1999 16:56:43 +0000 Received: from virgo.software.plasmon ([193.115.4.42]) by mail.plasmon.co.uk (Lotus SMTP MTA v4.6.2 (693.3 8-11-1998)) with SMTP id 80256724.005CD3B9; Fri, 26 Feb 1999 16:53:55 +0000 Date: Fri, 26 Feb 1999 16:58:08 +0000 (GMT) From: Steve McIntyre X-Sender: steve@virgo.software.plasmon To: freebsd-fs@freebsd.org Subject: KLD filesystems in 3.0? 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 [ I've grepped the archives and couldn't find anything particularly relevant, so... ] I'm having some problems trying to write a filesystem (pfs) as a KLD. I load the pfs module, and the startup code seems to work OK. I can mount the filesystem, and still all seems OK. But the first time I try to do any vnode ops in the FS all falls down - vn_stat tries to call pfsop_getattr and fails, apparently trying to call a function at 0x0b instead of the real address. My guess is that somehow the vnodeop entries are not being registered properly; I've had a look through some of the other filesystems and I can't see anything obvious that I'm missing. Does anybody out there have any ideas for things to check? Thanks, -- Steve McIntyre, Allstor Software smcintyr@allstor-sw.co.uk My PC page "Can't keep my eyes from the circling sky, "Tongue-tied & twisted, Just an earth-bound misfit, I..." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Fri Feb 26 9:22:39 1999 Delivered-To: freebsd-fs@freebsd.org Received: from cs.columbia.edu (cs.columbia.edu [128.59.16.20]) by hub.freebsd.org (Postfix) with ESMTP id BB6BA14CC6 for ; Fri, 26 Feb 1999 09:22:35 -0800 (PST) (envelope-from ezk@shekel.mcl.cs.columbia.edu) Received: from shekel.mcl.cs.columbia.edu (shekel.mcl.cs.columbia.edu [128.59.18.15]) by cs.columbia.edu (8.9.1/8.9.1) with ESMTP id MAA14495; Fri, 26 Feb 1999 12:22:06 -0500 (EST) Received: (from ezk@localhost) by shekel.mcl.cs.columbia.edu (8.9.1/8.9.1) id MAA02680; Fri, 26 Feb 1999 12:22:05 -0500 (EST) Date: Fri, 26 Feb 1999 12:22:05 -0500 (EST) Message-Id: <199902261722.MAA02680@shekel.mcl.cs.columbia.edu> X-Authentication-Warning: shekel.mcl.cs.columbia.edu: ezk set sender to ezk@shekel.mcl.cs.columbia.edu using -f From: Erez Zadok To: Steve McIntyre Cc: freebsd-fs@FreeBSD.ORG Subject: Re: KLD filesystems in 3.0? In-reply-to: Your message of "Fri, 26 Feb 1999 16:58:08 GMT." Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In message , Steve McIntyre writes: [...] > I'm having some problems trying to write a filesystem (pfs) as a KLD. I > load the pfs module, and the startup code seems to work OK. I can mount > the filesystem, and still all seems OK. But the first time I try to do any > vnode ops in the FS all falls down - vn_stat tries to call pfsop_getattr > and fails, apparently trying to call a function at 0x0b instead of the > real address. My guess is that somehow the vnodeop entries are not being > registered properly; I've had a look through some of the other filesystems > and I can't see anything obvious that I'm missing. If this is by any chance a stackable f/s, then you might find the problem you're having by looking at my stackable template f/s (wrapfs) and several of the examples using wrapfs. http://www.cs.columbia.edu/~ezk/research/software/ Erez. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Fri Feb 26 15:56:40 1999 Delivered-To: freebsd-fs@freebsd.org Received: from cygnus.rush.net (cygnus.rush.net [209.45.245.133]) by hub.freebsd.org (Postfix) with ESMTP id 1C60414FF2 for ; Fri, 26 Feb 1999 15:56:34 -0800 (PST) (envelope-from bright@cygnus.rush.net) Received: from localhost (bright@localhost) by cygnus.rush.net (8.9.3/8.9.3) with SMTP id SAA26554 for ; Fri, 26 Feb 1999 18:56:40 -0500 (EST) Date: Fri, 26 Feb 1999 18:56:39 -0500 (EST) From: Alfred Perlstein To: freebsd-fs@freebsd.org Subject: question about LFS design. 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 I've been reading the 4.4 book, and several other kernel algorithm books fora few months. Many topics interest me, one particular idea i just had is not very revelant to freebsd (LFS is gone). BUt i'd like to tap into the experiance and knowledge available in this forum. What i was wondering is if the *BSD LFS design has ever been fitted with an addtional interface for the LFS cleanerd to make it much more effecient (imo). It would involve adding another kernel entry point for lfs: lfs_getrealloc() As the kernel is forced to use the log which may become fragmented it records "read faults". "Read faults" in this sense occur when a sequence of blocks that are read by an application for the LFS to seek more than twice for the data, meaning fragmnetation has occured. The kernel will remeber where these read faults happened (which segments) contained fragmented blocks, it will then sort these based size / frag ratio (best guess) And try to write out the data continuously in the next segment. The cleaner should know about this, it gives the cleaner a better idea of where waste is happenening so it can act correctly. Perhaps lfs_getrealloc() isn't enough, the kernel should do statistic gathering on dirtied buffers as well. Instead of the cleaner blindly reading segments and passing them to the kernel for even more processing, the kernel can provide a strong hint to the cleaner as to "what needs to get done". Instead of a LRU, a time VS size list would work better that way the kernel is more apt to notify the LFS of large chances for block reclaims than a strick LRU. maybe a better name for the entry point: lfs_getwritev() which returns segments containing blocks and inodes that have been modified? Is anyone aware of this being tried in any impelementation? thank you, -Alfred To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Sat Feb 27 15:34:37 1999 Delivered-To: freebsd-fs@freebsd.org Received: from assaris.sics.se (dyn02.trafford.dementia.org [204.29.154.130]) by hub.freebsd.org (Postfix) with ESMTP id E84E114C92 for ; Sat, 27 Feb 1999 15:34:33 -0800 (PST) (envelope-from assar@sics.se) Received: (from assar@localhost) by assaris.sics.se (8.9.1/8.7.3) id AAA34899; Sun, 28 Feb 1999 00:36:11 +0100 (CET) To: Steve McIntyre Cc: freebsd-fs@FreeBSD.ORG Subject: Re: KLD filesystems in 3.0? References: Mime-Version: 1.0 (generated by tm-edit 7.68) Content-Type: text/plain; charset=US-ASCII From: Assar Westerlund Date: 28 Feb 1999 00:36:10 +0100 In-Reply-To: Steve McIntyre's message of "Fri, 26 Feb 1999 16:58:08 +0000 (GMT)" Message-ID: <5lbtifh11x.fsf@mg.trafford.dementia.org> Lines: 15 X-Mailer: Gnus v5.5/Emacs 19.34 Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Steve McIntyre writes: > I'm having some problems trying to write a filesystem (pfs) as a KLD. I > load the pfs module, and the startup code seems to work OK. I can mount > the filesystem, and still all seems OK. But the first time I try to do any > vnode ops in the FS all falls down - vn_stat tries to call pfsop_getattr > and fails, apparently trying to call a function at 0x0b instead of the > real address. My guess is that somehow the vnodeop entries are not being > registered properly; I've had a look through some of the other filesystems > and I can't see anything obvious that I'm missing. > > Does anybody out there have any ideas for things to check? Do you do an VNODEOP_SET on your `struct vnodeopv_desc'? /assar To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message