int lookup_flags = 0;
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1585,6 +1585,7 @@ struct inode_operations {
+@@ -1575,6 +1575,7 @@ struct inode_operations {
umode_t create_mode, int *opened);
- int (*tmpfile) (struct inode *, struct dentry *, umode_t);
+ int (*tmpfile) (struct inode *, struct dentry *, umode_t);
int (*set_acl)(struct inode *, struct posix_acl *, int);
+ int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
- } ____cacheline_aligned;
+ int (*may_create) (struct inode *, int);
+ int (*may_delete) (struct inode *, struct inode *, int);
- ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
@@ -2019,6 +2020,7 @@ extern struct file *file_open_name(struc
extern struct file *filp_open(const char *, int, umode_t);
extern struct file *file_open_root(struct dentry *, struct vfsmount *,
source "fs/fuse/Kconfig"
+source "fs/overlayfs/Kconfig"
- config GENERIC_ACL
- bool
+ menu "Caches"
+
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -105,6 +105,7 @@ obj-$(CONFIG_QNX6FS_FS) += qnx6/
+ }
+
+ err = vfs_rename(old_upperdir->d_inode, olddentry,
-+ new_upperdir->d_inode, newdentry, NULL);
++ new_upperdir->d_inode, newdentry, NULL, 0);
+
+ if (err) {
+ if (new_create && ovl_dentry_is_opaque(new))