diff options
Diffstat (limited to 'fs/ecryptfs')
| -rw-r--r-- | fs/ecryptfs/file.c | 15 | ||||
| -rw-r--r-- | fs/ecryptfs/inode.c | 3 | ||||
| -rw-r--r-- | fs/ecryptfs/mmap.c | 2 |
3 files changed, 5 insertions, 15 deletions
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index eb3dc4c7ac06..713834371229 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c | |||
| @@ -275,18 +275,9 @@ static int ecryptfs_release(struct inode *inode, struct file *file) | |||
| 275 | static int | 275 | static int |
| 276 | ecryptfs_fsync(struct file *file, struct dentry *dentry, int datasync) | 276 | ecryptfs_fsync(struct file *file, struct dentry *dentry, int datasync) |
| 277 | { | 277 | { |
| 278 | struct file *lower_file = ecryptfs_file_to_lower(file); | 278 | return vfs_fsync(ecryptfs_file_to_lower(file), |
| 279 | struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry); | 279 | ecryptfs_dentry_to_lower(dentry), |
| 280 | struct inode *lower_inode = lower_dentry->d_inode; | 280 | datasync); |
| 281 | int rc = -EINVAL; | ||
| 282 | |||
| 283 | if (lower_inode->i_fop->fsync) { | ||
| 284 | mutex_lock(&lower_inode->i_mutex); | ||
| 285 | rc = lower_inode->i_fop->fsync(lower_file, lower_dentry, | ||
| 286 | datasync); | ||
| 287 | mutex_unlock(&lower_inode->i_mutex); | ||
| 288 | } | ||
| 289 | return rc; | ||
| 290 | } | 281 | } |
| 291 | 282 | ||
| 292 | static int ecryptfs_fasync(int fd, struct file *file, int flag) | 283 | static int ecryptfs_fasync(int fd, struct file *file, int flag) |
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 5e78fc179886..0111906a8877 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c | |||
| @@ -612,8 +612,7 @@ ecryptfs_readlink(struct dentry *dentry, char __user * buf, int bufsiz) | |||
| 612 | struct ecryptfs_crypt_stat *crypt_stat; | 612 | struct ecryptfs_crypt_stat *crypt_stat; |
| 613 | 613 | ||
| 614 | lower_dentry = ecryptfs_dentry_to_lower(dentry); | 614 | lower_dentry = ecryptfs_dentry_to_lower(dentry); |
| 615 | if (!lower_dentry->d_inode->i_op || | 615 | if (!lower_dentry->d_inode->i_op->readlink) { |
| 616 | !lower_dentry->d_inode->i_op->readlink) { | ||
| 617 | rc = -EINVAL; | 616 | rc = -EINVAL; |
| 618 | goto out; | 617 | goto out; |
| 619 | } | 618 | } |
diff --git a/fs/ecryptfs/mmap.c b/fs/ecryptfs/mmap.c index 04d7b3fa1ac6..46cec2b69796 100644 --- a/fs/ecryptfs/mmap.c +++ b/fs/ecryptfs/mmap.c | |||
| @@ -288,7 +288,7 @@ static int ecryptfs_write_begin(struct file *file, | |||
| 288 | loff_t prev_page_end_size; | 288 | loff_t prev_page_end_size; |
| 289 | int rc = 0; | 289 | int rc = 0; |
| 290 | 290 | ||
| 291 | page = __grab_cache_page(mapping, index); | 291 | page = grab_cache_page_write_begin(mapping, index, flags); |
| 292 | if (!page) | 292 | if (!page) |
| 293 | return -ENOMEM; | 293 | return -ENOMEM; |
| 294 | *pagep = page; | 294 | *pagep = page; |
