aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ecryptfs/file.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <[email protected]>2012-09-17 03:42:46 +0000
committerGreg Kroah-Hartman <[email protected]>2012-09-17 03:42:46 +0000
commit2bcb132c693566bcb8208cc7ce66b72a4f852ecf (patch)
tree6fc4f05ce18140d86aa78a10380a610734aeaef9 /fs/ecryptfs/file.c
parentUSB: serial: io_ti.c: remove dbg() usage (diff)
parentLinux 3.6-rc6 (diff)
downloadkernel-2bcb132c693566bcb8208cc7ce66b72a4f852ecf.tar.gz
kernel-2bcb132c693566bcb8208cc7ce66b72a4f852ecf.zip
Merge 3.6-rc6 into usb-next
This resolves the merge problems with: drivers/usb/dwc3/gadget.c drivers/usb/musb/tusb6010.c that had been seen in linux-next. Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'fs/ecryptfs/file.c')
-rw-r--r--fs/ecryptfs/file.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c
index 44ce5c6a541d..d45ba4568128 100644
--- a/fs/ecryptfs/file.c
+++ b/fs/ecryptfs/file.c
@@ -275,8 +275,14 @@ out:
static int ecryptfs_flush(struct file *file, fl_owner_t td)
{
- return file->f_mode & FMODE_WRITE
- ? filemap_write_and_wait(file->f_mapping) : 0;
+ struct file *lower_file = ecryptfs_file_to_lower(file);
+
+ if (lower_file->f_op && lower_file->f_op->flush) {
+ filemap_write_and_wait(file->f_mapping);
+ return lower_file->f_op->flush(lower_file, td);
+ }
+
+ return 0;
}
static int ecryptfs_release(struct inode *inode, struct file *file)