svn commit: r187468 - head/sys/ufs/ffs

Kostik Belousov kostikbel at gmail.com
Tue Jan 20 04:30:32 PST 2009


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-head/attachments/20090120/97e30975/attachment.pgp


More information about the svn-src-head mailing list