Dave Chinner wrote: > On Thu, Jul 22, 2010 at 02:05:26PM -0500, Eric Sandeen wrote: > >> This replicates file corruption we've seen with qemu-kvm when >> we use if=virtio,cache=none,aio=native for IO to a sparse >> ext4- or xfs-hosted file, and the partitions/filesystems >> within that file image are not block-aligned. (think sector >> 63 here...) This results in AIO IOs not aligned to the >> filesystem blocks. >> >> This test modifies aiodio_sparse2.c to add an option to start >> the file IO at an offset. >> >> When we do 4k writes to a 16k file in 2 threads, starting >> at offset 512, we get 0s interspersed in the file where they >> should not be: >> >> 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| >> * >> 00000200 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 |................| >> * >> 00001000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| >> * >> 00001200 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 |................| >> .... >> >> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx> >> > > looks good - it needs to remove the $TEST_DIR/aiodio_sparse file > before the test starts, though, so that repeated tests fail > correctly. Otherwise: > > hm, but: +rm -f "$TEST_DIR/aiodio_sparse*" + +# 2 threads, 4k writes, 16k filesize, stride throug file by 4k, start at 512 offset +$here/src/aio-dio-regress/aiodio_sparse2 -i 2 -w 4k -s 16k -n 4k -o 512 "$TEST_DIR/aiodio_sparse" It does remove it ... no? > Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> > > thanks > Also, Eric, can you run this proof-of-concept test branch (on top of > the current XFS for-2.6.36 branch) and see if QEMU is happy with it? > It passes this test on my machine.... > > Absolutely, thanks! -Eric -- 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