Subject: Re: The demise of DEV_BSIZE
To: Wolfgang Solfrank <firstname.lastname@example.org>
From: Bill Studenmund <email@example.com>
Date: 10/07/1999 12:43:47
On Thu, 7 Oct 1999, Wolfgang Solfrank wrote:
> > Can someone propose a possible application for sector size != 2**n?
> Well, I was going to write something about it anyway, especially since it
> doesn't fit with the model that's currently discussed :-(.
Maybe. See below.
> What I have in mind is the "CD/ROM XA Mixed Mode" format. These do have
> a form of ISO9660 filesystem. At least the directory structure is
> recorded in logical 2048 byte sectors (albeit the recording is a tiny
> little bit different from the standard CD/ROM 2048 byte sectors), and
> can have ordinary files recorded in this part of the disk, too. In
> addition to that, the format supports recording of "multimedia data".
> These are recorded with a blocksize of 2332 bytes (if I remember
> correctly, don't have the standard handy right now), since you don't
> need the same amount of error correction for this kind of data.
> This files maybe recorded with some interleaving, so you can for
> instance mix a video file and the corresponding audio file).
> I'm not sure, but I think that CDI disks are recorded in this format.
> What this means for the problem at hand is that support for this type
> of media would require a more dynamic handling of the blocksize.
True. The current plan assumes that each dev_t has one value for its block
shift value (i.e. its block size).
The current plan DOES permit different minor numbers to have different
block sizes. Currently the floppy driver uses this as minor numbers
represent different densities.
What we could do is have one minor number (partition) be for accessing
2048 byte sectors, and another one for accessing the 2332 byte sectors. If
we have enough partitions, we could make each interleave segment its own
While I think the above idea is a bit of a hack, I think it'd be cleaner
than making devices (i.e. partitions) able to support two different block