[hfs-user] Device (Driver) Descriptor Block and block size

Simon Bazley simon@eyeeye.com
Tue, 16 Mar 2004 08:48:40 +0000

There is a limit on the maximum size of any particular disk of 4 billion 
(2^32) * the block size, or 0xFFFFFFFF * sbBlkSize.  If sbBlkSize is 
0x0200 as you say then the limit is about 2 Gb.
I'd guess that to get around this either DVD's use a larger block size 
(0x2000 would adequately cover the 4.5Gb physical maximum on a DVD) or 
use HFS+ or some other system.
Remember the only real reason why it is bad to use large block sizes is 
the wasteage that occurs with small files.  On a DVD you typically have 
less than 20 files, some of which are huge so the lost space is minimal.

Pierre Duhem wrote:
> Hi everybody,
> A little question:
> In the device/driver descriptor block (sector 0 of a disk), the first
> three fields are:
>    sbSig:         Integer;    {device signature}
>    sbBlkSize:     Integer;    {block size of the device}
>    sbBlkCount:    LongInt;    {number of blocks on the device}
> For sbBlkSize, I always got 512 on magnetic hard disks and CD-ROMs
> (magneto-optical disks are another matter). Now, what happens when the
> disk contains more than 0xFFFFFFFF * 0x0200 bytes? This could be the
> case with a DVD-ROM, for instance.