Просмотр исходного кода

ext4: update ctime and mtime for truncate with extents.

The recently announced "Linux POSIX file system test suite"
caught a truncate issue when using extents:
mtime and ctime are not updated when truncate is successful.

This is the single issue caught with "default" ext4 (mkfs and mount
with minimal options).
The testsuite does not report failure with -o noextents.

With the following patch, all tests of the testsuite pass.

Signed-off-by: Solofo Ramangalahy <Solofo.Ramangalahy@bull.net>
Signed-off-by: Mingming Cao <cmm@us.ibm.com> 
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Solofo Ramangalahy 17 лет назад
Родитель
Сommit
ef7377289a
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      fs/ext4/extents.c

+ 2 - 0
fs/ext4/extents.c

@@ -2809,6 +2809,8 @@ void ext4_ext_truncate(struct inode * inode, struct page *page)
 		ext4_orphan_del(handle, inode);
 
 	up_write(&EXT4_I(inode)->i_data_sem);
+	inode->i_mtime = inode->i_ctime = ext4_current_time(inode);
+	ext4_mark_inode_dirty(handle, inode);
 	ext4_journal_stop(handle);
 }