g_vfs write error = 28, bad memory?

Kris Kennaway kris at FreeBSD.org
Sat Sep 1 10:34:45 PDT 2007


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.

Kris



More information about the freebsd-questions mailing list