aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/namei.c5
-rw-r--r--fs/open.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 9061157e39d6..7657be4352bf 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -2035,10 +2035,7 @@ static int may_open(struct path *path, int acc_mode, int flag)
2035 if (flag & O_NOATIME && !inode_owner_or_capable(inode)) 2035 if (flag & O_NOATIME && !inode_owner_or_capable(inode))
2036 return -EPERM; 2036 return -EPERM;
2037 2037
2038 /* 2038 return 0;
2039 * Ensure there are no outstanding leases on the file.
2040 */
2041 return break_lease(inode, flag);
2042} 2039}
2043 2040
2044static int handle_truncate(struct file *filp) 2041static int handle_truncate(struct file *filp)
diff --git a/fs/open.c b/fs/open.c
index f71192109457..22c41b543f2d 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -685,6 +685,10 @@ static struct file *__dentry_open(struct dentry *dentry, struct vfsmount *mnt,
685 if (error) 685 if (error)
686 goto cleanup_all; 686 goto cleanup_all;
687 687
688 error = break_lease(inode, f->f_flags);
689 if (error)
690 goto cleanup_all;
691
688 if (!open && f->f_op) 692 if (!open && f->f_op)
689 open = f->f_op->open; 693 open = f->f_op->open;
690 if (open) { 694 if (open) {