Messages in this thread | | | Date | Tue, 8 Dec 2009 21:26:22 -0500 | From | tytso@mit ... | Subject | Re: [PATCH 2/3] ext4: Fix data / filesystem corruption when write fails to copy data |
| |
On Wed, Dec 02, 2009 at 08:16:48PM +0100, Jan Kara wrote: > When ext4_write_begin fails after allocating some blocks or > generic_perform_write fails to copy data to write, we truncate blocks already > instantiated beyond i_size. Although these blocks were never inside i_size, we > have to truncate pagecache of these blocks so that corresponding buffers get > unmapped. Otherwise subsequent __block_prepare_write (called because we are > retrying the write) will find the buffers mapped, not call ->get_block, and > thus the page will be backed by already freed blocks leading to filesystem and > data corruption.
Added to the ext4 patch queue.
- Ted
| |