fsnotify(): switch to passing const struct qstr * for file_name
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 26 Apr 2019 17:37:25 +0000 (13:37 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 26 Apr 2019 17:37:25 +0000 (13:37 -0400)
commit25b229dff4ffffd0fad2dd409faf1e2ae4d94866
tree386d48b43faefef9e636e88641b5bdb4668da297
parentf4ec3a3d43bcdcf6295af9f3715a5a33f59bb6ce
fsnotify(): switch to passing const struct qstr * for file_name

Note that in fnsotify_move() and fsnotify_link() we are guaranteed
that dentry->d_name won't change during the fsnotify() evaluation
(by having the parent directory locked exclusive), so we don't
need to fetch dentry->d_name.name in the callers.  In fsnotify_dirent()
the same stability of dentry->d_name is also true, but it's a bit
more convoluted - there is one callchain (devpts_pty_new() ->
fsnotify_create() -> fsnotify_dirent()) where the parent is _not_
locked, but on devpts ->d_name of everything is unchanging; it
has neither explicit nor implicit renames.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/kernfs/file.c
fs/notify/fsnotify.c
include/linux/fsnotify.h
include/linux/fsnotify_backend.h