Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!mips!daver!bungi.com!news From: kls@ditka.UUCP (Karl Swartz) Newsgroups: comp.sys.nsc.32k Subject: Re: Minix drive size problems. Message-ID: <9009280138.AA17354@ditka.UUCP> Date: 28 Sep 90 08:38:21 GMT References: <<9009280359.AA13737@hydra.convex.com>> Sender: news@daver.bungi.com Lines: 61 Approved: news@daver.bungi.com > I have created the following table in scsi_hi.c and recompiled the kernel: > > /* start length drive interleave */ ... > {10256, 90000, &drive_tbl[DEFAULT], 1}, /* /dev/hd3 */ > {100256, 100000, &drive_tbl[DEFAULT], 1}, /* /dev/hd4 */ > {200256, 100000, &drive_tbl[DEFAULT], 1}, /* /dev/hd5 */ > # df /dev/hd4 > /dev/hd4 i-nodes: 1 used 33340 free blocks: 2 used 34462 free > > I'd think it should say 100000? Since Minix uses a 16-bit index to the block in a partition the largest parition you can have is 64K blocks. More precisely, you can have at most 64K *zones* in a partition, where a zone defaults to one block but can be more. The release notes from Bruce say this is untested, and in fact >= 32K is untested. I tried a 60,000 block partition and also ran into the panic with message about too many map blocks. Investigation led me to the following #defines in fs/const.h: #define ZMAP_SLOTS 6 #define I_MAP_SLOTS 4 #define NR_SUPERS 5 According to my calculations a 60,000 block (er, zone) partition would require ZMAP_SLOTS to be at least 8. I_MAP_SLOTS should be fine as 4 allows for 32K inodes, more than enough for the largest partition according to the default of one inode for every three zones. NR_SUPERS is just the size of the mount table, in effect, and can be increased as needed. Anyway, I increased ZMAP_SLOTS to 8. This produced a kernel which would bail out to the ROM monitor (bpt rather than panic) during boot, right about where I'd expect it to start mounting partitions. Somewhere here I recall a comment that the filesystem in 1.3 is broken in various ways with regard to partitions >= 32K zones, and perhaps with zones of > 1 block. I think 1.5 is supposed to fix this. > 1) What else do I need to change to make these sizes work? I'd suggest using smaller (< 32K) partitions for the moment. > 2) What else do I need to change to tell the system I have 2 or more disks? Look in kernel/scsi_hi.c for the definition of drive_tbl, right before partition_tbl. Define your drives here, then reference the appropriate drive in the third parameter of each partition table entry. -- Karl Swartz |UUCP {uunet,decwrl}!daver!ditka!kls 1-408/223-1308 |INet zygot!ditka!kls@apple.com "I never let my schooling get in |BIX kswartz the way of my education."(Twain) |Snail 1738 Deer Creek Ct., San Jose CA 95148