aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/ext4.h1
-rw-r--r--fs/ext4/inode.c3
-rw-r--r--fs/ext4/page-io.c16
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 */
2000extern int ext4_sync_file(struct file *, loff_t, loff_t, int); 2000extern int ext4_sync_file(struct file *, loff_t, loff_t, int);
2001extern int ext4_flush_unwritten_io(struct inode *);
2002 2001
2003/* hash.c */ 2002/* hash.c */
2004extern int ext4fs_dirhash(const char *name, int len, struct 2003extern 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
284int 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
300ext4_io_end_t *ext4_init_io_end(struct inode *inode, gfp_t flags) 284ext4_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);