Stephan believes that this patch, just committed to FreeBSD, may fix
authorMatthew Dillon <dillon@dragonflybsd.org>
Sun, 31 Jul 2005 22:25:46 +0000 (22:25 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sun, 31 Jul 2005 22:25:46 +0000 (22:25 +0000)
commit89a5de29c4b5224e3d40a573c714e68a57aedef0
treef278c8f16e5e6a584c1f08f9dd849fa7438c0239
parent80c0a47f4f78bec2921fa64c0aaa098b7167fe04
Stephan believes that this patch, just committed to FreeBSD, may fix
softupdates deadlocks reported by Tomaz Borstnar.  Symptoms were basically
that the syncer would block in getblk() after approximately 1 weeks operation
under moderate filesystem load due to a softupdates-locked indirect block
buffer which was never being released.  This would prevent file blocks
from being freed and cause the filesystem to appear to fill up.  The problem
was originally believed to be a bug in the IPS driver, but turns out not to
be.

This will be MFCd to RELEASE once testing is complete.

FreeBSD commit msg:
    Delay freeing disk space for file system blocks until all dirty buffers
    are safely released. This fixes softdep problems on truncation
    (deletion) of files with dirty buffers.
Testing-by: =?ISO-8859-2?Q?Toma=BE_Bor=B9tnar?= <tomaz.borstnar@amis.net>
Taken-from: FreeBSD / ffs_softdep.c 1.182.
Original-Author: Stephan Uphoff <ups@tree.com> (FreeBSD)
sys/vfs/ufs/ffs_softdep.c
sys/vfs/ufs/softdep.h