Revert "ANDROID: vfs: add d_canonical_path for stacked filesystem support"
This reverts commit b05bef535d7dba4c3ecc22eb624cf62d6b2e5f12 as there is
no need for it as sdcardfs is now gone.
Bug: 157700134
Cc: Daniel Rosenberg <[email protected]>
Cc: Alistair Strachan <[email protected]>
Cc: Yongqin Liu <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: I36752a84e13f1ee8709ba9c04c93c202e3f05b74
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index 68c06ad..6f37451 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -701,8 +701,6 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
struct fsnotify_group *group;
struct inode *inode;
struct path path;
- struct path alteredpath;
- struct path *canonical_path = &path;
struct fd f;
int ret;
unsigned flags = 0;
@@ -749,22 +747,13 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
if (ret)
goto fput_and_out;
- /* 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, &alteredpath);
- canonical_path = &alteredpath;
- path_put(&path);
- }
- }
-
/* inode held in place by reference to path; group by fget on fd */
- inode = canonical_path->dentry->d_inode;
+ inode = path.dentry->d_inode;
group = f.file->private_data;
/* create/update an inode mark */
ret = inotify_update_watch(group, inode, mask);
- path_put(canonical_path);
+ path_put(&path);
fput_and_out:
fdput(f);
return ret;
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index f23f9f7..c1488cc 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -147,7 +147,6 @@ struct dentry_operations {
struct vfsmount *(*d_automount)(struct path *);
int (*d_manage)(const struct path *, bool);
struct dentry *(*d_real)(struct dentry *, const struct inode *);
- void (*d_canonical_path)(const struct path *, struct path *);
} ____cacheline_aligned;
/*
diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
index 5ceeaac..5ab28f6 100644
--- a/include/linux/fsnotify.h
+++ b/include/linux/fsnotify.h
@@ -262,20 +262,11 @@ static inline void fsnotify_modify(struct file *file)
*/
static inline void fsnotify_open(struct file *file)
{
- const struct path *path = &file->f_path;
- struct path lower_path;
__u32 mask = FS_OPEN;
if (file->f_flags & __FMODE_EXEC)
mask |= FS_OPEN_EXEC;
- if (path->dentry->d_op && path->dentry->d_op->d_canonical_path) {
- path->dentry->d_op->d_canonical_path(path, &lower_path);
- fsnotify_parent(lower_path.dentry, mask, &lower_path,
- FSNOTIFY_EVENT_PATH);
- fsnotify(lower_path.dentry->d_inode, mask, &lower_path, FSNOTIFY_EVENT_PATH, NULL, 0);
- path_put(&lower_path);
- }
fsnotify_file(file, mask);
}