Date: Sat, 29 Dec 2007 13:31:27 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ufs/ffs ffs_balloc.c Message-ID: <200712291331.lBTDVR69028699@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2007-12-29 13:31:27 UTC FreeBSD src repository Modified files: sys/ufs/ffs ffs_balloc.c Log: The ffs_balloc() routines, whan allocating the indirect blocks for the inode, do the rollback in case the allocation failed (due to insufficient free space or quota limits). But, the code does leaves the buffers corresponding to the inoirect blocks on the vnode bufobj list. This causes several assertion failures (for instance, "ffs_truncate3" in ffs_truncate()) to fail, and could result in the indirect block aliasing problem, like writing the context of such blocks to random disk location. Remove the buffers from the bufobj properly. Reported and tested by: Peter Holm Reviewed by: tegge MFC after: 3 weeks Revision Changes Path 1.52 +42 -2 src/sys/ufs/ffs/ffs_balloc.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712291331.lBTDVR69028699>