On Wed, Mar 12, 2014 at 05:27:36PM -0400, Eric Whitney wrote: > Commit 9cb00419fa, which enables hole punching for bigalloc file > systems, exposed a bug introduced by commit 6ae06ff51e in an earlier > release. When run on a bigalloc file system, xfstests generic/013, 068, > 075, 083, 091, 100, 112, 127, 263, 269, and 270 fail with e2fsck errors > or cause kernel error messages indicating that previously freed blocks > are being freed again. > > The latter commit optimizes the selection of the starting extent in > ext4_ext_rm_leaf() when hole punching by beginning with the extent > supplied in the path argument rather than with the last extent in the > leaf node (as is still done when truncating). However, the code in > rm_leaf that initially sets partial_cluster to track cluster sharing on > extent boundaries is only guaranteed to run if rm_leaf starts with the > last node in the leaf. Consequently, partial_cluster is not correctly > initialized when hole punching, and a cluster on the boundary of a > punched region that should be retained may instead be deallocated. > > Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html