diff options
Diffstat (limited to 'ipc')
| -rw-r--r-- | ipc/shm.c | 11 |
1 files changed, 4 insertions, 7 deletions
| @@ -273,16 +273,13 @@ static int shm_release(struct inode *ino, struct file *file) | |||
| 273 | return 0; | 273 | return 0; |
| 274 | } | 274 | } |
| 275 | 275 | ||
| 276 | static int shm_fsync(struct file *file, struct dentry *dentry, int datasync) | 276 | static int shm_fsync(struct file *file, int datasync) |
| 277 | { | 277 | { |
| 278 | int (*fsync) (struct file *, struct dentry *, int datasync); | ||
| 279 | struct shm_file_data *sfd = shm_file_data(file); | 278 | struct shm_file_data *sfd = shm_file_data(file); |
| 280 | int ret = -EINVAL; | ||
| 281 | 279 | ||
| 282 | fsync = sfd->file->f_op->fsync; | 280 | if (!sfd->file->f_op->fsync) |
| 283 | if (fsync) | 281 | return -EINVAL; |
| 284 | ret = fsync(sfd->file, sfd->file->f_path.dentry, datasync); | 282 | return sfd->file->f_op->fsync(sfd->file, datasync); |
| 285 | return ret; | ||
| 286 | } | 283 | } |
| 287 | 284 | ||
| 288 | static unsigned long shm_get_unmapped_area(struct file *file, | 285 | static unsigned long shm_get_unmapped_area(struct file *file, |
