Date: Mon, 23 Feb 1998 22:46:21 -0800 From: Mike Smith <mike@smith.net.au> To: Terry Lambert <tlambert@primenet.com> Cc: mike@smith.net.au (Mike Smith), hasty@rah.star-gate.com, scrappy@hub.org, freebsd-current@FreeBSD.ORG Subject: Re: ATAPI related patch .. Message-ID: <199802240646.WAA14231@dingo.cdrom.com> In-Reply-To: Your message of "Tue, 24 Feb 1998 03:33:05 GMT." <199802240333.UAA17080@usr05.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > Pull the other one. Audio track disk blocks are not evenly divisible
> > > into (or by) a page size.
> >
> > I'm not pulling nothing. Put an audio CD into your Win98 machine (or
> > Win95 OSR2 machine for that matter), and 'cd' to the drive in a penalty
> > box.
> >
> > Tell me what you see *there*.
>
> A display on a graphical exporer front-ending for an OS without a
> unified VM and buffer cache.
OK. Perhaps I should have said "what does the user see there".
Remember that at least some of us are interested in the results as seen
by the user. 8)
> > Sure, this is just a case where you need a SLICE layer that understands
> > non-multiple non-factor block size transforms.
>
> No. Julian's soloution was that you would need to aggregate partial
> real blocks underneath the page abstraction.
I wouldn't even bother with patial blocks, but I'm probably being too
primitive about it.
> Like many things, it requires a working VOP_{GET|PUT}PAGES.
Do you have one? Where is it in the queue of swallowable chunks?
> > Bear in mind that all you're actually doing is providing directory
> > entries that someone can open. Nobody says that the files can be
> > *mapped*, although they ought to be mappable. 8)
>
> If you are going to read them, then you are going to (effectively)
> map them, because the VM objects backed by the file are hung off the
> vnode. All a mapping is, is pointing a memory region at a set of
> pages backed by a vnode. It doesn't matter how the pages got hung
> off the vnode, so long as the contain completely valid or completely
> invalid data. 8-).
Sure. And below the mapping (do you ever go that far down? 8) there
lives a strategy handler, and that strategy handler gets passed an
offset and a length, in some agreed block size. From there, all you
need is the block size transform (and as mooted, a means for dealing
with the write case where you logically only write part of a physical
block).
All pie-in-the-sky stuff, of course.
--
\\ Sometimes you're ahead, \\ Mike Smith
\\ sometimes you're behind. \\ mike@smith.net.au
\\ The race is long, and in the \\ msmith@freebsd.org
\\ end it's only with yourself. \\ msmith@cdrom.com
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?199802240646.WAA14231>
