| Summary: | FreeBSD 4.5 won't install ... out of inodes | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Rex Buddenberg <budden> |
| Component: | misc | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
Rex Buddenberg
2002-02-20 18:30:01 UTC
I've come across exactly the same problem on a 2G disk drive Auto FS layout. I resolve it by changing the newfs options on install.. well rather removing all options. ie: just leave the newfs (and not -b 16k -...) Defaults should be changed. Later, Bill -- William McNAMARA mailto:wimac@tidhom1g.grenoble.hp.com B1N2H1 Is it possible to get the 'df -i' output for the partitions on the drive? -- Crist J. Clark | cjclark@alum.mit.edu | cjclark@jhu.edu http://people.freebsd.org/~cjc/ | cjc@freebsd.org On Fri, Feb 22, 2002 at 10:30:42AM -0800, Buddenberg, Rex wrote: > Bill, Christ, > > We're pretty close to the smoking gun ... here's what I squeezed out of the > drive: > > > Filesystem 1K-blocks Used Avail Capacity iused ifree %iused > Mounted on > /dev/ad0s1a 257980 62800 174544 26% 1276 14978 8% > / > > Note that /usr doesn't show up on the troubled drive at all (and vfstab is > entirely > missing from /etc). I manually mounted /dev/ad0s1f to /usr where it belongs > and > got this: > /dev/ad0s1f 515996 124 474596 0% 3 32507 0% > /usr Yep. Looks like 16K blocks in each. > > On a normal FreeBSD 4.4 installation (similar sized disk), I got this: > > /dev/ad0s1a 99183 32339 58910 35% 1498 23588 6% / > /dev/ad0s1f 964359 642238 244973 72% 82806 159240 34% /usr > /dev/ad0s1e 19815 1777 16453 10% 286 4768 6% /var > procfs 4 4 0 100% 42 490 8% > /proc Those are 4K blocks? I would expect 8K from newfs(8)'s source. > I used all the default settings on installation ... no tweaks whatsoever. > Since I can boot up in single user mode, the problem appears to show up > wholly > in /usr. No, it just that there are that many more files in /usr that you ran out of inodes in /usr. The default 8K to 16K was changed in revision 1.30.2.8 of newfs.c. A 500 MB partition is tiny by today's standards. Sometime you have to make the choice, do you focus support the few using _really_ old stuff or the majority on much newer hardware. Of course, the other possibility is to make sysinstall(8) smarter about this kind of thing (and about partition sizing, and about...), but someone can always figure out a situation where any simple rules break down and the discussions tend to bikeshed. So, I don't really think the bug is in newfs(8). newfs(8) does not really need to be too smart. I think if there is a bug here at all, it would be sysinstall(8) not being smart enough to tell newfs(8) how to do things better. -- Crist J. Clark | cjclark@alum.mit.edu | cjclark@jhu.edu http://people.freebsd.org/~cjc/ | cjc@freebsd.org I think i follow the analysis, Crist. Thanks.
And yes, smartening up Sysinstall would be the right approach. Perhaps a
better one would be to smarten up the documentation so dummies like me know
what overrides make sense.
So ... what should I do at installation time to make 4.5 run properly on
these beasts?
Thanks again.
> -----Original Message-----
> From: Crist J. Clark [mailto:crist.clark@attbi.com]
> Sent: Friday, February 22, 2002 11:39 AM
> To: Buddenberg, Rex
> Cc: 'Bill McNAMARA'; bug-followup@freebsd.org
> Subject: Re: misc/35150: FreeBSD 4.5 won't install ... out of inodes
>
>
> On Fri, Feb 22, 2002 at 10:30:42AM -0800, Buddenberg, Rex wrote:
> > Bill, Christ,
> >
> > We're pretty close to the smoking gun ... here's what I
> squeezed out of the
> > drive:
> >
> >
> > Filesystem 1K-blocks Used Avail Capacity iused
> ifree %iused
> > Mounted on
> > /dev/ad0s1a 257980 62800 174544 26% 1276
> 14978 8%
> > /
> >
> > Note that /usr doesn't show up on the troubled drive at all
> (and vfstab is
> > entirely
> > missing from /etc). I manually mounted /dev/ad0s1f to /usr
> where it belongs
> > and
> > got this:
> > /dev/ad0s1f 515996 124 474596 0% 3
> 32507 0%
> > /usr
>
> Yep. Looks like 16K blocks in each.
>
> >
> > On a normal FreeBSD 4.4 installation (similar sized disk),
> I got this:
> >
> > /dev/ad0s1a 99183 32339 58910 35% 1498
> 23588 6% /
> > /dev/ad0s1f 964359 642238 244973 72% 82806
> 159240 34% /usr
> > /dev/ad0s1e 19815 1777 16453 10% 286
> 4768 6% /var
> > procfs 4 4 0 100% 42
> 490 8%
> > /proc
>
> Those are 4K blocks? I would expect 8K from newfs(8)'s source.
>
> > I used all the default settings on installation ... no
> tweaks whatsoever.
> > Since I can boot up in single user mode, the problem
> appears to show up
> > wholly
> > in /usr.
>
> No, it just that there are that many more files in /usr that you ran
> out of inodes in /usr. The default 8K to 16K was changed in revision
> 1.30.2.8 of newfs.c.
>
> A 500 MB partition is tiny by today's standards. Sometime you have to
> make the choice, do you focus support the few using _really_ old stuff
> or the majority on much newer hardware. Of course, the other
> possibility is to make sysinstall(8) smarter about this kind of thing
> (and about partition sizing, and about...), but someone can always
> figure out a situation where any simple rules break down and the
> discussions tend to bikeshed.
>
> So, I don't really think the bug is in newfs(8). newfs(8) does not
> really need to be too smart. I think if there is a bug here at all, it
> would be sysinstall(8) not being smart enough to tell newfs(8) how to
> do things better.
> --
> Crist J. Clark | cjclark@alum.mit.edu
> | cjclark@jhu.edu
> http://people.freebsd.org/~cjc/ | cjc@freebsd.org
>
I had the same problem, just so nobody think the original poster is alone with the problem. Just re-iterate the problem: I just tried to install FreeBSD 4.5 on a 1,2GB harddisk. I tried to install user, ports and Linux support. How I fixed it: Since the install failed because the system ran out of inodes on the /usr partition during the Linux support install, I changed the inode size to 2K by adding "-i 2048" to the newfs parameter list in the options page in sysinstall. Perhaps the install program should be a bit smarter with regards to inode sizes on the various partitions? Or perhaps the install program should let newfs decide on its own how big the various parameters should be? Perhaps this is such a showstopper that a new iso should be issued? greetings, State Changed From-To: open->closed It is unlikely that anyone will beat the dead horse (sysinstall) to be smarter about the case of small disks. The workaround, as people have noted, is to modify the newf -i option value. |