Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
[pandora-kernel.git] / arch / powerpc / platforms / cell / spufs / file.c
index 3c7c3f8..fb59c46 100644 (file)
@@ -1850,9 +1850,16 @@ out:
        return ret;
 }
 
-static int spufs_mfc_fsync(struct file *file, int datasync)
+static int spufs_mfc_fsync(struct file *file, loff_t start, loff_t end, int datasync)
 {
-       return spufs_mfc_flush(file, NULL);
+       struct inode *inode = file->f_path.dentry->d_inode;
+       int err = filemap_write_and_wait_range(inode->i_mapping, start, end);
+       if (!err) {
+               mutex_lock(&inode->i_mutex);
+               err = spufs_mfc_flush(file, NULL);
+               mutex_unlock(&inode->i_mutex);
+       }
+       return err;
 }
 
 static int spufs_mfc_fasync(int fd, struct file *file, int on)