From owner-freebsd-current@FreeBSD.ORG Thu Jun 2 18:25:06 2005 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5294216A42C for ; Thu, 2 Jun 2005 18:25:06 +0000 (GMT) (envelope-from truckman@FreeBSD.org) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 088C743D1D for ; Thu, 2 Jun 2005 18:25:05 +0000 (GMT) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.13.1/8.13.1) with ESMTP id j52IOkcQ004052; Thu, 2 Jun 2005 11:24:51 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <200506021824.j52IOkcQ004052@gw.catspoiler.org> Date: Thu, 2 Jun 2005 11:24:46 -0700 (PDT) From: Don Lewis To: anderson@centtech.com In-Reply-To: <429EF2D4.7010504@centtech.com> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Cc: freebsd-current@FreeBSD.org Subject: Re: cannot alloc 19968 bytes for inoinfo X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2005 18:25:06 -0000 On 2 Jun, Eric Anderson wrote: > Don Lewis wrote: >> On 1 Jun, Eric Anderson wrote: >> >>>Andre Guibert de Bruet wrote: >>> >>>>On Wed, 1 Jun 2005, Eric Anderson wrote: >>>> >>>> >>>>>Don Lewis wrote: >>>>> >>>>> >>>>>>On 31 May, Eric Anderson wrote: >>>>>> >>>>>> >>>>>>>One of my filesystems won't fsck. I'm not sure how to fix it, or >>>>>>>what it's really trying to tell me. >>>>>>> >>>>>>># fsck -y /vol1 >>>>>>>** /dev/da0s1d >>>>>>>** Last Mounted on /vol1 >>>>>>>** Phase 1 - Check Blocks and Sizes >>>>>>>fsck_ufs: cannot alloc 19968 bytes for inoinfo >>>>>>> >>>>>>>df -i /vol1 output: >>>>>>>Filesystem 1K-blocks Used Avail Capacity iused ifree >>>>>>>%iused Mounted on >>>>>>>/dev/da0s1d 1891668564 1684163832 56171248 97% 55109756 189360002 >>>>>>>23% /vol1 >>>>>>> >>>>>>>Any help would be very appreciated! >>>>>> >>>>>> >>>>>>You're probably running into the default 512MB data size limit. Try >>>>>>setting kern.maxdsiz to a larger value in /boot/loader.conf and >>>>>>rebooting. I've got mine set to 1GB. >>>>>> kern.maxdsiz="1073741824" >>>>> >>>>> >>>>>Hmm - I don't seem to have that sysctl.. What would create it? >>>> >>>> >>>>It's a loader tunable, not a sysctl variable. man 5 loader.conf >>> >>>Oh.. oops. :) Ok, then I have it set correctly but it isn't helping >>>me. My fsck still dies the same way. Looks like it's taking up about >>>362MB memory (I have 1GB). Any more ideas? >> >> >> What does the shell limit command say about your datasize limit? Your >> limit might have been cranked down in login.conf. > > I looked too early at the fsck. It appears to actually be going up to > the 1GB limit now, and then bombing. It's now bombing at a different point: > > # fsck -y /vol1 > ** /dev/da0s1d > ** Last Mounted on /vol1 > ** Phase 1 - Check Blocks and Sizes > fsck_ufs: cannot increase directory list > > > # limits > Resource limits (current): > cputime infinity secs > filesize infinity kb > datasize 1048576 kb > stacksize 65536 kb > coredumpsize infinity kb > memoryuse infinity kb > memorylocked infinity kb > maxprocesses 7390 > openfiles 14781 > sbsize infinity bytes > vmemoryuse infinity kb > > So I think I just need more RAM.. This is really a major ceiling for > anyone that wants a somewhat large filesystem, or someone who needs a > lot of inodes. Is there maybe a different way to do the fsck that might > take longer, but run in 'small' memory footprints like 1GB or less? I > know little to nothing about coding fsck tools or memory management, but > I do know that there's always more ways to do something. Just curious > if there could be a 'lowmem' option for fsck that would utilize memory > differently in order to fsck large fs's. You can crank up datasize to be larger than RAM assuming that you have sufficient swap configured. It'll just be slow as fsck starts paging. At some point on 32-bit architectures like the i386 you'll run into the address space limit, probably at 2-3GB. I think julian@ has mentioned having a version of fsck that uses external storage. I would expect a substantial speed impact, and you would need at least one other file system mounted rw.