On Tue, Jan 20, 2009 at 12:52:33PM +0100, Roman Divacky wrote: > On Tue, Jan 20, 2009 at 11:30:22AM +0000, Konstantin Belousov wrote: > > Author: kib > > Date: Tue Jan 20 11:30:22 2009 > > New Revision: 187468 > > URL: http://svn.freebsd.org/changeset/base/187468 > > > > Log: > > When extending inode size, we call vnode_pager_setsize(), to have a > > address space where to put vnode pages, and then call UFS_BALLOC(), > > to actually allocate new block and map it. When UFS_BALLOC() returns > > error, sometimes we forget to revert the vm object size increase, > > allowing for the pages that are not backed by the logical disk blocks. > > > > Revert vnode_pager_setsize() back when UFS_BALLOC() failed, for > > ffs_truncate() and ffs_write(). > > can you describe in what scenario this can trigger? can it be that > many smallish (a few tens of kB?) of mmaped files being read/write > may cause this?
The usual scenario is either a full partition or exceeded block quotas for the user that writes the file and then mmap it.
pgp4RMaoYwKIZ.pgp
Description: PGP signature