Looks like a bug in the 7300 disk driver

Michael "Ford" Ditto ditto at cbmvax.UUCP
Thu Jan 12 00:38:39 AEST 1989


In article <813 at ttrde.UUCP> pfales at ttrde.UUCP (Peter Fales) writes:
>I have discovered what appears to be a bug in the hard disk device driver
>for the unix-pc.

In article <513 at genesis.ATT.COM> andys at shlepper.ATT.COM (a.b.sherman) writes:
>It is *NOT* a feature it's a bug.  See below.
[ ... ]
>Why a CHARACTER device must program its DMA device in BLOCK
>multiples escapes me.  Regardless of the block size, you can always
>tell a DMA controller to transfer X bytes or X words.

Well, there's your problem:  It's not a CHARACTER device.  The /dev/r*
devices are RAW device interfaces; that's what the 'r' stands for.  When
you access any raw device, you have to do it in accordance with that
particular device's physical requirements.  In the case of the Unix PC's
hard disk interface (and those of most other computers), partial block
transfers are not possible.  The so-called "block" device can be used
for more "structured" access (like 4 bytes at a time, etc.).

According to the "Unix Implementation" paper by Ken Thompson, the term
"character I/O" is "a complete misnomer".
-- 
					-=] Ford [=-

"The number of Unix installations	(In Real Life:  Mike Ditto)
has grown to 10, with more expected."	ford at kenobi.cts.com
- The Unix Programmer's Manual,		...!sdcsvax!crash!elgar!ford
  2nd Edition, June, 1972.		ditto at cbmvax.commodore.com



More information about the Comp.sys.att mailing list