ext3: Add replace-on-truncate hueristics for data=writeback mode
In data=writeback mode, start an asynchronous flush when closing a file which had been previously truncated down to zero. This lowers the probability of data loss in the case of applications that attempt to replace a file using truncate. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
@@ -2346,6 +2346,9 @@ void ext3_truncate(struct inode *inode)
|
||||
if (!ext3_can_truncate(inode))
|
||||
return;
|
||||
|
||||
if (inode->i_size == 0 && ext3_should_writeback_data(inode))
|
||||
ei->i_state |= EXT3_STATE_FLUSH_ON_CLOSE;
|
||||
|
||||
/*
|
||||
* We have to lock the EOF page here, because lock_page() nests
|
||||
* outside journal_start().
|
||||
|
Reference in New Issue
Block a user