From owner-freebsd-current Mon Feb 23 18:35:33 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA18698 for freebsd-current-outgoing; Mon, 23 Feb 1998 18:35:33 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from smtp04.primenet.com (smtp04.primenet.com [206.165.6.134]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA18692 for ; Mon, 23 Feb 1998 18:35:31 -0800 (PST) (envelope-from tlambert@usr05.primenet.com) Received: (from daemon@localhost) by smtp04.primenet.com (8.8.8/8.8.8) id TAA06165; Mon, 23 Feb 1998 19:35:13 -0700 (MST) Received: from usr05.primenet.com(206.165.6.205) via SMTP by smtp04.primenet.com, id smtpd006130; Mon Feb 23 19:35:09 1998 Received: (from tlambert@localhost) by usr05.primenet.com (8.8.5/8.8.5) id TAA13911; Mon, 23 Feb 1998 19:35:06 -0700 (MST) From: Terry Lambert Message-Id: <199802240235.TAA13911@usr05.primenet.com> Subject: Re: ATAPI related patch .. To: mike@smith.net.au (Mike Smith) Date: Tue, 24 Feb 1998 02:35:06 +0000 (GMT) Cc: hasty@rah.star-gate.com, mike@smith.net.au, scrappy@hub.org, freebsd-current@FreeBSD.ORG In-Reply-To: <199802232218.OAA12635@dingo.cdrom.com> from "Mike Smith" at Feb 23, 98 02:18:42 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-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > Luigi's hack is for CDDA (sucking audio off the CD) acccess; this is > basically bulk data transfer. Being a read-like operation, it's better > handled as such. > > With a little more work, once you support audio accesses in the driver > properly, you become able to produce a "cdrom audio FS", where tracks > on the disk appear as files when the disk is mounted. Pull the other one. Audio track disk blocks are not evenly divisible into (or by) a page size. There are all *sorts* of nice coherency problems that you run into from this. Effectively, you would need the LCM of the non-factors which are not LCF, to be read at one time. Otherwise you won't get a "page not present" error when you have a page that is partially valid. This problem gets worse if you want to *write* audio tracks. Talk to Julian; we hashed this all out over a whiteboard one night when I wanted to start using the 8-bit field, take the page mapping hit, and either go with the page that was there or read partial pages from disk for the MSDOSFS case where the 1k "blocks" began at a one block offset (possible on some older geometry drives). I was being less ambitious, in that I only wanted to handle runs of blocks in 512b multiples at (possible) multiple minus 1 non-zero offsets. Just the 1k disk/2k optical media/msdosfs non-even cylinder boundry cases... Julian's soloution is more correct, but it's a lot of work to support arbitrary block sizes (*especially* if the block size happens to be prime(!)...). 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