diff options
Diffstat (limited to 'fs/sync.c')
-rw-r--r-- | fs/sync.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -130,12 +130,10 @@ void emergency_sync(void) | |||
130 | 130 | ||
131 | /* | 131 | /* |
132 | * Generic function to fsync a file. | 132 | * Generic function to fsync a file. |
133 | * | ||
134 | * filp may be NULL if called via the msync of a vma. | ||
135 | */ | 133 | */ |
136 | int file_fsync(struct file *filp, struct dentry *dentry, int datasync) | 134 | int file_fsync(struct file *filp, int datasync) |
137 | { | 135 | { |
138 | struct inode * inode = dentry->d_inode; | 136 | struct inode *inode = filp->f_mapping->host; |
139 | struct super_block * sb; | 137 | struct super_block * sb; |
140 | int ret, err; | 138 | int ret, err; |
141 | 139 | ||
@@ -183,7 +181,7 @@ int vfs_fsync_range(struct file *file, loff_t start, loff_t end, int datasync) | |||
183 | * livelocks in fsync_buffers_list(). | 181 | * livelocks in fsync_buffers_list(). |
184 | */ | 182 | */ |
185 | mutex_lock(&mapping->host->i_mutex); | 183 | mutex_lock(&mapping->host->i_mutex); |
186 | err = file->f_op->fsync(file, file->f_path.dentry, datasync); | 184 | err = file->f_op->fsync(file, datasync); |
187 | if (!ret) | 185 | if (!ret) |
188 | ret = err; | 186 | ret = err; |
189 | mutex_unlock(&mapping->host->i_mutex); | 187 | mutex_unlock(&mapping->host->i_mutex); |