freebsd-dev/sys/ufs/ffs
Konstantin Belousov 76cae067b8 By doing file extension fast, it is possible to create excess supply
of the D_NEWBLK kinds of dependencies (i.e. D_ALLOCDIRECT and
D_ALLOCINDIR), which can exhaust kmem.

Handle excess of D_NEWBLK in the same way as excess of D_INODEDEP and
D_DIRREM, by scheduling ast to flush dependencies, after the thread,
which created new dep, left the VFS/FFS innards.  For D_NEWBLK, the
only way to get rid of them is to do full sync, since items are
attached to data blocks of arbitrary vnodes.  The check for D_NEWBLK
excess in softdep_ast_cleanup_proc() is unlocked.

For 32bit arches, reduce the total amount of allowed dependencies by
two.  It could be considered increasing the limit for 64 bit platforms
with direct maps.

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2015-09-01 13:07:27 +00:00
..
ffs_alloc.c Move chdir/chroot-related fdp manipulation to kern_descrip.c 2015-07-11 16:19:11 +00:00
ffs_balloc.c ufs: small formatting fixes. 2014-03-02 02:52:34 +00:00
ffs_extern.h ufs: small formatting fixes. 2014-03-02 02:52:34 +00:00
ffs_inode.c Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
ffs_rawread.c Refactor unmapped buffer address handling. 2015-07-23 19:13:41 +00:00
ffs_snapshot.c The VOP_LOOKUP() implementations for CREATE op do not put the name 2014-12-18 10:01:12 +00:00
ffs_softdep.c By doing file extension fast, it is possible to create excess supply 2015-09-01 13:07:27 +00:00
ffs_subr.c - Make 'struct buf *buf' private to vfs_bio.c. Having a global variable 2015-07-29 02:26:57 +00:00
ffs_suspend.c Remove several write-only variables, all reported by the gcc 4.9 2015-05-29 13:24:17 +00:00
ffs_tables.c
ffs_vfsops.c Refactor unmapped buffer address handling. 2015-07-23 19:13:41 +00:00
ffs_vnops.c Refactor unmapped buffer address handling. 2015-07-23 19:13:41 +00:00
fs.h ufs: small formatting fixes. 2014-03-02 02:52:34 +00:00
softdep.h When mounting SU-enabled mount point, wait until the softdep_flush() 2015-01-30 11:41:46 +00:00