https://bugzilla.kernel.org/show_bug.cgi?id=32972 Summary: EXT4 causes corrupt BitTorrent downloads Product: File System Version: 2.5 Kernel Version: 2.6.39-rc2+ Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: high Priority: P1 Component: ext4 AssignedTo: fs_ext4@xxxxxxxxxxxxxxxxxxxx ReportedBy: damien@xxxxxxxxxxxx CC: feng.tang@xxxxxxxxx Regression: Yes Using the Transmission BitTorrent client (version 2.11) with the most recent kernel (2.6.39-rc2+), any torrent I try to download is corrupt. By using Transmission's "Verify Local Data" functionality, I am able to reproduce this consistently. During verification, the percent complete will reverse itself as the verification process invalidates pieces that were just downloaded. I was able to bisect the issue and track it down to this commit: commit 6de9843dab3f2a1d4d66d80aa9e5782f80977d20 Author: Feng Tang <feng.tang@xxxxxxxxx> Date: Wed Mar 23 14:05:03 2011 -0400 ext4: remove redundant set_buffer_mapped() in ext4_da_get_block_prep() The map_bh() call will have already set the buffer_head to mapped. Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx> Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index f44307a..dec10e2 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -2502,7 +2502,6 @@ static int ext4_da_get_block_prep(struct inode *inode, sector_t iblock, * for partial write. */ set_buffer_new(bh); - set_buffer_mapped(bh); } return 0; } I confirmed that reverting this commit makes the problem go away. Thanks, -Damien -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. -- 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