[comp.os.minix] Big disks, big problems

ast@cs.vu.nl (Andy Tanenbaum) (09/30/89)

John Nall recently brought up a problem that has been festering for ages:
disks larger than 32M.  I have a little 20M disk on my machine, so I can't
test this out, but I am very interested in hearing about people who have
tried to put MINIX on disks > 32M.  Please post rather than mailing, since
a lot of people have asked me about this problem.

In particular, since disk addresses are 16 bits, clearly no partition
larger than 64M can work, but how about > 32M?

  - Can the at_wini.c driver hack disks > 32M ?
  - Can fsck.c work (the MINIX version, not the standalone version)?
  - Does mkfs work > 32M?
  - Does fdisk work > 32M?
  - Does readall work > 32M?
  - Does checkdisk work > 32M?

What about disks that are larger than 64M, but have a MINIX partition
above 64M?  This probably implies longs somewhere, and I don't know if
they are used properly.

In short, I'd like to find out what happens when you use a big disk.


Andy Tanenbaum (ast@cs.vu.nl)

stevesc@microsoft.UUCP (Steve Schonberger) (10/02/89)

Andy writes:
>In particular, since disk addresses are 16 bits, clearly no partition
>larger than 64M can work, but how about > 32M?

It is possible to work around this problem by using larger sectors.  I
know some of large-disk-DOS versions use this solution.  The 32M limit
assumes 512 byte sectors; addresses are unsigned, so with sectors of 1K
you get 64M without trouble.

>What about disks that are larger than 64M, but have a MINIX partition
>above 64M?  This probably implies longs somewhere, and I don't know if
>they are used properly.

Having several partitions of <32M has long been a large-disk-DOS trick.
It's quite simple, I think.

A third solution, using longer disk addresses, is difficult, and was
likely the root of a lot of the compatibility complaints about DOS 4
(but I don't know much about DOS, and even less about DOS 4, so I'm
no authority).).

A very elegant solution is that of Berkeley fast file system.  They use
sector clusters as the allocation unit.  Files that will fit whole into
a cluster only use the sectors they need; files that are larger than a
cluster are stored in whole clusters only.

Another interesting solution, used by Microsoft's announced and maybe
released OS2 High Performance File System is to use extents (starting
block, length pairs) as the allocation unit, rather than individual
blocks.  That would be highly inappropriate for Minix though, since it
is both very un-Unix-like and would require a great deal of rework to
implement.

-- 
	Steve Schonberger	microsoft!stevesc@uunet.uu.net
	"Working under pressure is the sugar that we crave" --A. Lamb
Since I've mentioned products made by the company I work for, I need
to emphasize my disclaimer.  I know very little about DOS.  I know
very little about the file system part of OS2.  Most important, I'm
not making official announcements.

paula@bcsaic.UUCP (Paul Allen) (10/03/89)

In article <3442@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes:
>
>  - Can the at_wini.c driver hack disks > 32M ?
>  - Can fsck.c work (the MINIX version, not the standalone version)?
>  - Does mkfs work > 32M?
>  - Does fdisk work > 32M?
>  - Does readall work > 32M?
>  - Does checkdisk work > 32M?

I have a 66M disk.  When I tried to create a partition starting
about 26M into the disk, the 1.3 fdisk wouldn't let me give it more 
than 32M.  Mkfs had no trouble.  The kernel-based fsck has no
trouble.  I haven't tried the command-line version.  Haven't tried
readall.  Checkdisk liked the first few Mb of the partition.  When
I've got an aeon or two to kill, I'll run it over the whole
partition.  :-)  I'm using the 1.3d at_wini.c without any changes.

>What about disks that are larger than 64M, but have a MINIX partition
>above 64M?  This probably implies longs somewhere, and I don't know if
>they are used properly.
>

Although my disk has 66495 kilobytes, none of my partitions actually
reaches to the end.  If I get ambitious, perhaps I'll re-partition
with the Minix partition up against the end of the disk.

Paul Allen

-- 
------------------------------------------------------------------------
Paul L. Allen                       | pallen@atc.boeing.com
Boeing Advanced Technology Center   | ...!uw-beaver!bcsaic!pallen

paula@bcsaic.UUCP (Paul Allen) (10/05/89)

In article <15467@bcsaic.UUCP> paula@bcsaic.UUCP (me) writes:
>In article <3442@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes:
>>
>> [questions about big disks]
>
>I have a 66M disk.  When I tried to create a partition starting
>about 26M into the disk, the 1.3 fdisk wouldn't let me give it more 
>than 32M.  Mkfs had no trouble.  

I apparently mis-spoke.  When I looked at my partition table with
fdisk last night, it showed a tad over 40Mb in my minix partition.
Must've been mkfs that wouldn't let me exceed 32Mb.

Sorry for disseminating my confusion!

Paul
-- 
------------------------------------------------------------------------
Paul L. Allen                       | pallen@atc.boeing.com
Boeing Advanced Technology Center   | ...!uw-beaver!bcsaic!pallen