Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Feb 1998 09:44:58 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        tlambert@primenet.com (Terry Lambert)
Cc:        mike@smith.net.au, tlambert@primenet.com, hasty@rah.star-gate.com, scrappy@hub.org, freebsd-current@FreeBSD.ORG
Subject:   Re: ATAPI related patch ..
Message-ID:  <199802240944.CAA05263@usr05.primenet.com>
In-Reply-To: <199802240758.AAA16091@usr09.primenet.com> from "Terry Lambert" at Feb 24, 98 07:58:16 am

next in thread | previous in thread | raw e-mail | index | archive | help
> > 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199802240944.CAA05263>