diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2019-04-26 13:21:24 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-04-26 13:22:05 -0400 |
commit | f4ec3a3d43bcdcf6295af9f3715a5a33f59bb6ce (patch) | |
tree | 1703990ecd2af3c5df59bfa905f380e673504ec7 /fs | |
parent | 230c6402b1b305c21c91b56cd9de95a608898506 (diff) | |
download | lwn-f4ec3a3d43bcdcf6295af9f3715a5a33f59bb6ce.tar.gz lwn-f4ec3a3d43bcdcf6295af9f3715a5a33f59bb6ce.zip |
switch fsnotify_move() to passing const struct qstr * for old_name
note that in the second (RENAME_EXCHANGE) call of fsnotify_move() in
vfs_rename() the old_dentry->d_name is guaranteed to be unchanged
throughout the evaluation of fsnotify_move() (by the fact that the
parent directory is locked exclusive), so we don't need to fetch
old_dentry->d_name.name in the caller.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/debugfs/inode.c | 2 | ||||
-rw-r--r-- | fs/namei.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index f7064048d271..8b8225211a14 100644 --- a/fs/debugfs/inode.c +++ b/fs/debugfs/inode.c @@ -819,7 +819,7 @@ struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry, goto exit; } d_move(old_dentry, dentry); - fsnotify_move(d_inode(old_dir), d_inode(new_dir), old_name.name.name, + fsnotify_move(d_inode(old_dir), d_inode(new_dir), &old_name.name, d_is_dir(old_dentry), NULL, old_dentry); release_dentry_name_snapshot(&old_name); diff --git a/fs/namei.c b/fs/namei.c index c96713077326..5ebd64b21970 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -4498,10 +4498,10 @@ out: inode_unlock(target); dput(new_dentry); if (!error) { - fsnotify_move(old_dir, new_dir, old_name.name.name, is_dir, + fsnotify_move(old_dir, new_dir, &old_name.name, is_dir, !(flags & RENAME_EXCHANGE) ? target : NULL, old_dentry); if (flags & RENAME_EXCHANGE) { - fsnotify_move(new_dir, old_dir, old_dentry->d_name.name, + fsnotify_move(new_dir, old_dir, &old_dentry->d_name, new_is_dir, NULL, new_dentry); } } |