Commit 7925dad8 authored by Miklos Szeredi's avatar Miklos Szeredi
Browse files

ovl: separate detection of remote upper layer from stacked overlay



Following patch will allow remote as upper layer, but not overlay stacked
on upper layer.  Separate the two concepts.

This patch is doesn't change behavior.

Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent 3bb7df92
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -845,7 +845,8 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
		if (err)
			goto out;

		if (upperdentry && unlikely(ovl_dentry_remote(upperdentry))) {
		if (upperdentry && (upperdentry->d_flags & DCACHE_OP_REAL ||
				    unlikely(ovl_dentry_remote(upperdentry)))) {
			dput(upperdentry);
			err = -EREMOTE;
			goto out;
+7 −7
Original line number Diff line number Diff line
@@ -752,8 +752,8 @@ static int ovl_mount_dir(const char *name, struct path *path)
		ovl_unescape(tmp);
		err = ovl_mount_dir_noesc(tmp, path);

		if (!err)
			if (ovl_dentry_remote(path->dentry)) {
		if (!err && (ovl_dentry_remote(path->dentry) ||
			     path->dentry->d_flags & DCACHE_OP_REAL)) {
			pr_err("filesystem on '%s' not supported as upperdir\n",
			       tmp);
			path_put_init(path);
+1 −2
Original line number Diff line number Diff line
@@ -93,8 +93,7 @@ struct ovl_entry *ovl_alloc_entry(unsigned int numlower)
bool ovl_dentry_remote(struct dentry *dentry)
{
	return dentry->d_flags &
		(DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE |
		 DCACHE_OP_REAL);
		(DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE);
}

bool ovl_dentry_weird(struct dentry *dentry)