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

Commit 21de4c6b authored by Daniel Rosenberg's avatar Daniel Rosenberg
Browse files

ANDROID: fsnotify: Notify lower fs of open



If the filesystem being watched supports d_canonical_path,
notify the lower filesystem of the open as well.

Change-Id: I2b1739e068afbaf5eb39950516072bff8345ebfe
Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
Bug: 70706497
parent d627a9b8
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -214,12 +214,19 @@ 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;
	struct inode *inode = path->dentry->d_inode;
	__u32 mask = FS_OPEN;

	if (S_ISDIR(inode->i_mode))
		mask |= FS_ISDIR;

	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, NULL, mask);
		fsnotify(lower_path.dentry->d_inode, mask, &lower_path, FSNOTIFY_EVENT_PATH, NULL, 0);
		path_put(&lower_path);
	}
	fsnotify_parent(path, NULL, mask);
	fsnotify(inode, mask, path, FSNOTIFY_EVENT_PATH, NULL, 0);
}