From owner-freebsd-questions@FreeBSD.ORG Sun Sep 2 11:13:15 2007 Return-Path: Delivered-To: freebsd-questions@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7812F16A41A for ; Sun, 2 Sep 2007 11:13:15 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from weak.local (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx1.freebsd.org (Postfix) with ESMTP id CE01213C46E; Sun, 2 Sep 2007 11:13:14 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <46DA9AC9.9090804@FreeBSD.org> Date: Sun, 02 Sep 2007 13:13:13 +0200 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728) MIME-Version: 1.0 To: Ian Smith References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-questions@FreeBSD.org Subject: Re: g_vfs write error = 28, bad memory? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Sep 2007 11:13:15 -0000 Ian Smith wrote: > On Sat, 01 Sep 2007 19:34:41 +0200 Kris Kennaway wrote: > > Per olof Ljungmark wrote: > > > Kris Kennaway wrote: > > >> Per olof Ljungmark wrote: > > >>> Kris Kennaway wrote: > > >>>> Per olof Ljungmark wrote: > > >>>>> I use a memory file system for some tmp files and last night I saw > > >>>>> this, followed by a reboot. Bad memory? 6-STABLE from April.. > > >>>>> > > >>>>> foo-bar kernel: g_vfs_done():md0[WRITE(offset=259244032, > > >>>>> length=131072)]error = 28 > > >>>>> foo-bar kernel: g_vfs_done():md0[WRITE(offset=259375104, > > >>>>> length=131072)]error = 28 > > >>>>> [ten more lines...] > > >>>>> [reboot] > > >>>>> > > >>>>> Thanks, > > >>>> > > >>>> #define ENOSPC 28 /* No space left on device */ > > >>>> > > >>>> You are probably (incorrectly) using a malloc backed disk. Use swap > > >>>> backing and you won't panic when memory is low. > > >>> > > >>> Yes, sounds likely, thanks. One more question then, where is the md > > >>> information stored through a reboot? I did not edit rc.conf or fstab > > >>> or kernel config but still /dev/md0 came back up. Hmmm. > > >> > > >> It's not, unless something is explicitly creating it each time you > > >> boot. Perhaps you are using a rc.conf setting that creates a md /tmp. > > > > > > Indeed, here it was: > > > > > > amavisd_enable="YES" > > > amavisd_ram="512m" > > > > > > and the line in rc.d/amavisd > > > mdmfs -M -s ${amavisd_ram} -w vscan:vscan md /var/amavis/tmp || true > > > for some reason creates a malloc based mfs > > > > > > Perhaps I should check this with the maintainer... > > > > > > > > > > Yes, malloc backing for md should be used in almost no situations. > > Am I right in thinking such situations would then be limited to diskless > / flashdisk / embedded systems having no swap? Seems obvious, but .. Sort of. Swap backing will still work when you have no swap, and it's still faster than malloc backing. The problem is that I think backing store reservation ("-o reserve") doesn't work unless you have actual swap to back everything, whereas with malloc backing it reserves in memory. This means that it is easy to overcommit memory and the system will probably panic when it suddenly finds no free memory for the md (as in the original email). Ideally if no swap was configured, swap backing would also reserve the space in memory, and then I am not aware of any other reasons to continue using malloc backing. Kris