ocfs2: fix data corruption on truncate
Patch series "ocfs2: Truncate data corruption fix". As further testing has shown, commit 5314454e ("ocfs2: fix data corruption after conversion from inline format") didn't fix all the data corruption issues the customer started observing after 6dbf7bb5 ("fs: Don't invalidate page buffers in block_write_full_page()") This time I have tracked them down to two bugs in ocfs2 truncation code. One bug (truncating page cache before clearing tail cluster and setting i_size) could cause data corruption even before 6dbf7bb5, but before that commit it needed a race with page fault, after 6dbf7bb5 it started to be pretty deterministic. Another bug (zeroing pages beyond old i_size) used to be harmless inefficiency before commit 6dbf7bb5. But after commit 6dbf7bb5 in combination with the first bug it resulted in deterministic data corruption. Although fixing only the first problem is needed to stop data corruption, I've fixed both issues to make the cod...
parent
848be75d
Please register or sign in to comment