ovl: simplify getting inode

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c
index 8090489..f4847ef 100644
--- a/fs/overlayfs/util.c
+++ b/fs/overlayfs/util.c
@@ -230,10 +230,15 @@ void ovl_dentry_update(struct dentry *dentry, struct dentry *upperdentry)
 	oe->__upperdentry = upperdentry;
 }
 
-void ovl_inode_init(struct inode *inode, struct inode *realinode, bool is_upper)
+void ovl_inode_init(struct inode *inode, struct dentry *dentry)
 {
+	struct inode *realinode = d_inode(ovl_dentry_real(dentry));
+	bool is_upper = ovl_dentry_upper(dentry);
+
 	WRITE_ONCE(inode->i_private, (unsigned long) realinode |
 		   (is_upper ? OVL_ISUPPER_MASK : 0));
+
+	ovl_copyattr(realinode, inode);
 }
 
 void ovl_inode_update(struct inode *inode, struct inode *upperinode)