Browse Source

GFS2: fallocate: do not rely on file_update_time to mark the inode dirty

Previously __gfs2_fallocate() relied on file_update_time() marking the
inode dirty, but that's not a safe assumption as that function doesn't
dirty the inode in some cases. Mark the inode dirty explicitly.

Signed-off-by: Andrew Price <anprice@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Andrew Price 10 năm trước cách đây
mục cha
commit
4b813f0940
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      fs/gfs2/file.c

+ 1 - 1
fs/gfs2/file.c

@@ -897,8 +897,8 @@ static long __gfs2_fallocate(struct file *file, int mode, loff_t offset, loff_t
 
 	if (!(mode & FALLOC_FL_KEEP_SIZE) && (pos + count) > inode->i_size) {
 		i_size_write(inode, pos + count);
-		/* Marks the inode as dirty */
 		file_update_time(file);
+		mark_inode_dirty(inode);
 	}
 
 	return generic_write_sync(file, pos, count);