diff options
Diffstat (limited to 'fs/nfs/nfs4file.c')
| -rw-r--r-- | fs/nfs/nfs4file.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c index acb65e7887f..eb5eb8eef4d 100644 --- a/fs/nfs/nfs4file.c +++ b/fs/nfs/nfs4file.c @@ -96,13 +96,15 @@ nfs4_file_fsync(struct file *file, loff_t start, loff_t end, int datasync)  	struct inode *inode = file->f_path.dentry->d_inode;  	ret = filemap_write_and_wait_range(inode->i_mapping, start, end); +	if (ret != 0) +		goto out;  	mutex_lock(&inode->i_mutex);  	ret = nfs_file_fsync_commit(file, start, end, datasync);  	if (!ret && !datasync)  		/* application has asked for meta-data sync */  		ret = pnfs_layoutcommit_inode(inode, true);  	mutex_unlock(&inode->i_mutex); - +out:  	return ret;  }  |