eCryptfs: Check return of filemap_write_and_wait during fsync
Error out of ecryptfs_fsync() if filemap_write_and_wait() fails. Signed-off-by: Tyler Hicks <tyhicks@canonical.com> Cc: Paul Taysom <taysom@chromium.org> Cc: Olof Johansson <olofj@chromium.org> Cc: stable@vger.kernel.org # v3.6+
This commit is contained in:
@ -295,7 +295,12 @@ static int ecryptfs_release(struct inode *inode, struct file *file)
|
|||||||
static int
|
static int
|
||||||
ecryptfs_fsync(struct file *file, loff_t start, loff_t end, int datasync)
|
ecryptfs_fsync(struct file *file, loff_t start, loff_t end, int datasync)
|
||||||
{
|
{
|
||||||
filemap_write_and_wait(file->f_mapping);
|
int rc;
|
||||||
|
|
||||||
|
rc = filemap_write_and_wait(file->f_mapping);
|
||||||
|
if (rc)
|
||||||
|
return rc;
|
||||||
|
|
||||||
return vfs_fsync(ecryptfs_file_to_lower(file), datasync);
|
return vfs_fsync(ecryptfs_file_to_lower(file), datasync);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user