From owner-freebsd-current Tue Feb 24 01:45:17 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA06958 for freebsd-current-outgoing; Tue, 24 Feb 1998 01:45:17 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA06953 for ; Tue, 24 Feb 1998 01:45:15 -0800 (PST) (envelope-from tlambert@usr05.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.8.8/8.8.8) id CAA05960; Tue, 24 Feb 1998 02:45:13 -0700 (MST) Received: from usr05.primenet.com(206.165.6.205) via SMTP by smtp03.primenet.com, id smtpd005922; Tue Feb 24 02:45:03 1998 Received: (from tlambert@localhost) by usr05.primenet.com (8.8.5/8.8.5) id CAA05263; Tue, 24 Feb 1998 02:44:58 -0700 (MST) From: Terry Lambert Message-Id: <199802240944.CAA05263@usr05.primenet.com> Subject: Re: ATAPI related patch .. To: tlambert@primenet.com (Terry Lambert) Date: Tue, 24 Feb 1998 09:44:58 +0000 (GMT) Cc: mike@smith.net.au, tlambert@primenet.com, hasty@rah.star-gate.com, scrappy@hub.org, freebsd-current@FreeBSD.ORG In-Reply-To: <199802240758.AAA16091@usr09.primenet.com> from "Terry Lambert" at Feb 24, 98 07:58:16 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-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > All pie-in-the-sky stuff, of course. > > Hardly. If I send you the code for a local media FS to implement > VOP_{GET|PUT}PAGES, will you commit it? You can even test it first, > by seeing if you can run FreeBSD binaries off it... > > This is the type of code I class as "trivial"... ie: not a challenge > to write (which says nothing about the time involved). OK, while bored waiting for Julian to send me a pointer to where he has uploaded the most recent slice code so I could hack on a BAD144 stacking layer (hint, hint, Julian)... Here is a first run at the code. It exports some generic routines that are to be wedged into local media FS's until such time as the FS specific code can be written. Clearly, the "bypass" code has to work for umapfs/unionfs/nullfs to be happy with this change; I didn't bother with them, since they are broken as they currently sit. Here is the URL: http://freebsd.org/~terry/ And here is the README: =========================================================================== These diffs implement the first stage of a VOP_{GET|PUT}PAGES pushdown for local media FS's. See ffs_putpages in /sys/ufs/ufs/ufs_readwrite.c for implementation details for generic *_{get|put}pages for local media FS's. Support is trivial to add for any FS that formerly relied on the default behaviour of the vnode_pager in in EOPNOTSUPP cases (just copy the ffs_getpages() code for the FS in question's *_{get|put}pages). Obviously, it would be better if each local media FS implemented a more optimal method, instead of calling an exported interface from the /sys/vm/vnode_pager.c, but this is a necessary first step in getting the FS's to a point where they can be supplied with better implementations on a case-by-case basis. Obviously, the cd9660_putpages() can be rather trivial (since it is a read-only FS type 8-)). EOF. =========================================================================== Like I said: trivial. 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-current" in the body of the message