cvs commit: src/sys/ufs/ffs ffs_balloc.c
kib at FreeBSD.org
Sat Dec 29 13:31:27 UTC 2007
kib 2007-12-29 13:31:27 UTC
FreeBSD src repository
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
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
More information about the cvs-all