From: Jan K. <ja...@su...> - 2009-03-04 14:51:26
|
Hello, first, I'd like to point out that this has happened under UML so it can be just some obscure bug in that architecture but I belive it's worth debugging anyway. Now to the problem: This has happened with today Linus's git snapshot. The filesystem is ext3 with *1KB* blocksize. I booted UML with 64MB of memory and run (these are test's from Andrew Morton's torture tests): fsx-linux -l 8000000 /mnt/testfile bash-shared-mapping -t 8 /mnt/bashfile 50000000 (the second test just makes the UML under memory pressure and stresses the filesystem, otherwise it does not interact with fsx-linux in any way). After some time (like an hour) fsx-linux reported the file is corrupted. I tried again and it happened again so probably some debugging should be possible. Both times it seems we've simply completely lost a write which happened through mmap (2 pages in the first case, 3 pages in the second case). Also I've checked and in the first case no blocks are allocated for the offsets where the data should be so most probably we've lost the write before block_write_full_page() called get_block(). I'll debug this further but I wanted let people know there's some problem and maybe somebody has some bright idea :). I'm attaching the log from fsx if someone is interested. Honza -- Jan Kara <ja...@su...> SUSE Labs, CR |