aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fuse')
-rw-r--r--fs/fuse/file.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 69de9b860c39..530b1e804a32 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -308,6 +308,12 @@ static int fuse_open(struct inode *inode, struct file *file)
308 308
309static int fuse_release(struct inode *inode, struct file *file) 309static int fuse_release(struct inode *inode, struct file *file)
310{ 310{
311 struct fuse_conn *fc = get_fuse_conn(inode);
312
313 /* see fuse_vma_close() for !writeback_cache case */
314 if (fc->writeback_cache)
315 filemap_write_and_wait(file->f_mapping);
316
311 if (test_bit(FUSE_I_MTIME_DIRTY, &get_fuse_inode(inode)->state)) 317 if (test_bit(FUSE_I_MTIME_DIRTY, &get_fuse_inode(inode)->state))
312 fuse_flush_mtime(file, true); 318 fuse_flush_mtime(file, true);
313 319