diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 74db579bb4825bc11929d9b667e1db6cd79abc62..be95c83f5875d657dddd7183b23edaa85ba94b36 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) /* fsync.c */ extern int ext4_sync_file(struct file *, loff_t, loff_t, int); -extern int ext4_flush_unwritten_io(struct inode *); /* hash.c */ extern int ext4fs_dirhash(const char *name, int len, struct diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index d6e4f0e09a8cc071e1f2b54b9f15b2b80c912955..de6dd77f0c569797dc9eed56fb257b07c6ee4242 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) /* Wait all existing dio workers, newcomers will block on i_mutex */ ext4_inode_block_unlocked_dio(inode); - ret = ext4_flush_unwritten_io(inode); - if (ret) - goto out_dio; inode_dio_wait(inode); if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index 0f65561ab5a5c63750cf33099a90bd3d7b6bf135..6ee5bd389405c7faf540c5780fa97f71498553d7 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) ext4_do_flush_completed_IO(&ei->vfs_inode, &ei->i_unrsv_conversion_list); } -int ext4_flush_unwritten_io(struct inode *inode) -{ - int ret, err; - - WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex) && - !(inode->i_state & I_FREEING)); - ret = ext4_do_flush_completed_IO(inode, - &EXT4_I(inode)->i_rsv_conversion_list); - err = ext4_do_flush_completed_IO(inode, - &EXT4_I(inode)->i_unrsv_conversion_list); - if (!ret) - ret = err; - ext4_unwritten_wait(inode); - return ret; -} - ext4_io_end_t *ext4_init_io_end(struct inode *inode, gfp_t flags) { ext4_io_end_t *io = kmem_cache_zalloc(io_end_cachep, flags);