Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c22205d0 authored by Amir Goldstein's avatar Amir Goldstein Committed by Miklos Szeredi
Browse files

ovl: use an auxiliary var for overlay root entry

parent 3a1e819b
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -220,6 +220,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
	const struct cred *old_cred;
	struct ovl_fs *ofs = dentry->d_sb->s_fs_info;
	struct ovl_entry *poe = dentry->d_parent->d_fsdata;
	struct ovl_entry *roe = dentry->d_sb->s_root->d_fsdata;
	struct path *stack = NULL;
	struct dentry *upperdir, *upperdentry = NULL;
	unsigned int ctr = 0;
@@ -259,7 +260,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
			if (!upperredirect)
				goto out_put_upper;
			if (d.redirect[0] == '/')
				poe = dentry->d_sb->s_root->d_fsdata;
				poe = roe;
		}
		upperopaque = d.opaque;
	}
@@ -290,10 +291,8 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
		if (d.stop)
			break;

		if (d.redirect &&
		    d.redirect[0] == '/' &&
		    poe != dentry->d_sb->s_root->d_fsdata) {
			poe = dentry->d_sb->s_root->d_fsdata;
		if (d.redirect && d.redirect[0] == '/' && poe != roe) {
			poe = roe;

			/* Find the current layer on the root dentry */
			for (i = 0; i < poe->numlower; i++)