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

Commit 7a9d2174 authored by Daniel Rosenberg's avatar Daniel Rosenberg Committed by Amit Pundir
Browse files

vfs: change d_canonical_path to take two paths



bug: 23904372
Change-Id: I4a686d64b6de37decf60019be1718e1d820193e6
Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
parent e0844a4d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -746,7 +746,7 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
	/* support stacked filesystems */
	if(path.dentry && path.dentry->d_op) {
		if (path.dentry->d_op->d_canonical_path) {
			path.dentry->d_op->d_canonical_path(path.dentry, &alteredpath);
			path.dentry->d_op->d_canonical_path(&path, &alteredpath);
			canonical_path = &alteredpath;
			path_put(&path);
		}
+5 −1
Original line number Diff line number Diff line
@@ -172,11 +172,15 @@ static int sdcardfs_cmp_ci(const struct dentry *parent,
	return 1;
}

static void sdcardfs_canonical_path(const struct path *path, struct path *actual_path) {
	sdcardfs_get_real_lower(path->dentry, actual_path);
}

const struct dentry_operations sdcardfs_ci_dops = {
	.d_revalidate	= sdcardfs_d_revalidate,
	.d_release	= sdcardfs_d_release,
	.d_hash 	= sdcardfs_hash_ci,
	.d_compare	= sdcardfs_cmp_ci,
	.d_canonical_path = sdcardfs_get_real_lower,
	.d_canonical_path = sdcardfs_canonical_path,
};
+1 −1
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ struct dentry_operations {
	int (*d_manage)(struct dentry *, bool);
	struct dentry *(*d_real)(struct dentry *, const struct inode *,
				 unsigned int);
	void (*d_canonical_path)(const struct dentry *, struct path *);
	void (*d_canonical_path)(const struct path *, struct path *);
} ____cacheline_aligned;

/*