diff options
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/ext4.h | 1 | ||||
-rw-r--r-- | fs/ext4/inode.c | 3 | ||||
-rw-r--r-- | fs/ext4/page-io.c | 16 |
3 files changed, 0 insertions, 20 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 74db579bb482..be95c83f5875 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -1998,7 +1998,6 @@ static inline unsigned char get_dtype(struct super_block *sb, int filetype) | |||
1998 | 1998 | ||
1999 | /* fsync.c */ | 1999 | /* fsync.c */ |
2000 | extern int ext4_sync_file(struct file *, loff_t, loff_t, int); | 2000 | extern int ext4_sync_file(struct file *, loff_t, loff_t, int); |
2001 | extern int ext4_flush_unwritten_io(struct inode *); | ||
2002 | 2001 | ||
2003 | /* hash.c */ | 2002 | /* hash.c */ |
2004 | extern int ext4fs_dirhash(const char *name, int len, struct | 2003 | extern int ext4fs_dirhash(const char *name, int len, struct |
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index d6e4f0e09a8c..de6dd77f0c56 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -3522,9 +3522,6 @@ int ext4_punch_hole(struct file *file, loff_t offset, loff_t length) | |||
3522 | 3522 | ||
3523 | /* Wait all existing dio workers, newcomers will block on i_mutex */ | 3523 | /* Wait all existing dio workers, newcomers will block on i_mutex */ |
3524 | ext4_inode_block_unlocked_dio(inode); | 3524 | ext4_inode_block_unlocked_dio(inode); |
3525 | ret = ext4_flush_unwritten_io(inode); | ||
3526 | if (ret) | ||
3527 | goto out_dio; | ||
3528 | inode_dio_wait(inode); | 3525 | inode_dio_wait(inode); |
3529 | 3526 | ||
3530 | if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) | 3527 | if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) |
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index 0f65561ab5a5..6ee5bd389405 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c | |||
@@ -281,22 +281,6 @@ void ext4_end_io_unrsv_work(struct work_struct *work) | |||
281 | ext4_do_flush_completed_IO(&ei->vfs_inode, &ei->i_unrsv_conversion_list); | 281 | ext4_do_flush_completed_IO(&ei->vfs_inode, &ei->i_unrsv_conversion_list); |
282 | } | 282 | } |
283 | 283 | ||
284 | int ext4_flush_unwritten_io(struct inode *inode) | ||
285 | { | ||
286 | int ret, err; | ||
287 | |||
288 | WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex) && | ||
289 | !(inode->i_state & I_FREEING)); | ||
290 | ret = ext4_do_flush_completed_IO(inode, | ||
291 | &EXT4_I(inode)->i_rsv_conversion_list); | ||
292 | err = ext4_do_flush_completed_IO(inode, | ||
293 | &EXT4_I(inode)->i_unrsv_conversion_list); | ||
294 | if (!ret) | ||
295 | ret = err; | ||
296 | ext4_unwritten_wait(inode); | ||
297 | return ret; | ||
298 | } | ||
299 | |||
300 | ext4_io_end_t *ext4_init_io_end(struct inode *inode, gfp_t flags) | 284 | ext4_io_end_t *ext4_init_io_end(struct inode *inode, gfp_t flags) |
301 | { | 285 | { |
302 | ext4_io_end_t *io = kmem_cache_zalloc(io_end_cachep, flags); | 286 | ext4_io_end_t *io = kmem_cache_zalloc(io_end_cachep, flags); |