Path: utzoo!utgpu!watmath!clyde!att!rutgers!mailrus!cornell!uw-beaver!rice!sun-spots-request From: aat@mace.cc.purdue.edu (Jeff Smith) Newsgroups: comp.sys.sun Subject: Re: Problems with Fujitsu-M2382K on Xylogic 735 on a 3/280 Message-ID: <8811190215.AA17450@mace.cc.purdue.edu> Date: 1 Dec 88 16:42:13 GMT Sender: usenet@rice.edu Organization: Rice University, Houston, Texas Lines: 57 Approved: Sun-Spots@rice.edu Original-Date: Fri, 18 Nov 88 21:15:02 -0500 X-Sun-Spots-Digest: Volume 7, Issue 32, message 4 of 17 > We recently received a Fujitsu-M2382K on Xylogic 735 and I was trying to > set it flying on a 3/280 when I ran into problems with insufficient inodes > in the client root partition... > > (1) how come the "-i" option in "newfs" didn't do what the manual says > it should do (I know, I know, manauls lie all the time :-< )? actually, it does. If you use "newfs -vN" you can see what it passes to mkfs without actually running mkfs (make sure you use 'N' and not 'n'!). Newfs passes the -i parameter to mkfs, which then silently adjusts the number of inodes to what it thinks is right. The real problem is with the constant MAXIPG in ufs/fs.h. This is set to 2048 and puts a ceiling on the number of inode blocks per cylinder group. Mkfs actually uses 2048 if you tell it to, but that's the maximum. There are more sectors per cylinder in big drives than in older, smaller ones, e.g., there are about 900 sectors per cylinder in a Fujitsu Eagle, and 2241 in a Fujitsu Swallow IV. Since the maximum number of inode blocks per cylinder group is constant but the number of data blocks varies, the percentage of inode blocks per data blocks is smaller in the Swallow IV than in an Eagle. Using 8 cylinders per cylinder group doubles the percentage of inode blocks by halving the number of data blocks per cylinder group. You have to use a 4k/1k file system to have 8 cylinders/cylinder group. As you noted, this has the undesirable side effect of crashing the host when you attempt any reference to that file system. The stack backtrace looks like this: _panic(0xf076d88) + 44 _segmap_unlock() + 7a _segmap_fault(0xf0de000,0xfb3c000,0x2000,0x3,0x0) + 8e _as_fault(0xf07e6a8,0xfb3c000,0x400,0x3,0x0) + a0 _fbrelse(0xf0e5d44,0x0) + 1e _dirlook(0xf09e5b8,0xffff95bc,0xffff9570) + 2fc _ufs_lookup(0xf09e5c0,0xffff95bc,0xffff96bc,0xf0e5140,0xffff96e0,0x0) +1a _au_lookuppn(0xffff96e0,0x1,0x0,0xffff976c,0x0) + 20e _au_lookupname() + 34 _lookupname(0xefffc4e,0x0,0x1,0x0,0xffff976c) + 1a _stat1(0xffff9a18,0x1) + 1a _stat(0xffff9a18) + c _syscall(0x26) + 15a syscont() + 6 data address not found > (2) is there something peculiar with the geometry of the M2382K that > restricts the choice of # of cyl/grp as mentioned above? No, the cyl/grp choice is wired into mkfs because it's wired into the file system. > (3) does anyone has a possible work around for this problem? Wish we did. We've reported the bug to sun. Jeff Smith, aat@cc.purdue.edu Purdue University, 210 Math Science, W. Lafayette, IN 47907, 317/494-1787