On Fri, 2019-04-26 at 19:51 +0100, Al Viro wrote: > On Fri, Apr 26, 2019 at 02:28:42PM -0400, Jeff Layton wrote: > > name_snapshot will snapshot the current contents of a dentry's name for > > later consumption. Several of those users end up needing to do a strlen > > on the resulting string later. We already have that info in the original > > dentry though, so we can do this a bit more efficiently by stuffing the > > name length into the name_snapshot as well. > > > > This is not well tested, but it built and booted. Do we have a testsuite > > that exercises the fsnotify code, in particular? > > FWIW, my variant sits in vfs.git@work.dcache. > > > Jeff Layton (5): > > dcache: track the length of the string in struct name_snapshot > > fsnotify: have fsnotify_move take a struct qstr instead of a string > > fsnotify: have fsnotify() take a qstr instead of a string > > fsnotify: change ->handle_event and send_to_group to take a qstr > > audit: fix audit_compare_dname_path to take a qstr > > > > fs/dcache.c | 11 +++++++---- > > fs/debugfs/inode.c | 2 +- > > fs/kernfs/file.c | 6 ++++-- > > fs/namei.c | 4 ++-- > > fs/notify/dnotify/dnotify.c | 2 +- > > fs/notify/fanotify/fanotify.c | 2 +- > > fs/notify/fsnotify.c | 8 ++++---- > > fs/notify/inotify/inotify.h | 2 +- > > fs/notify/inotify/inotify_fsnotify.c | 6 +++--- > > fs/overlayfs/export.c | 2 +- > > include/linux/dcache.h | 2 +- > > include/linux/fsnotify.h | 17 ++++++++--------- > > include/linux/fsnotify_backend.h | 6 +++--- > > kernel/audit.h | 3 ++- > > kernel/audit_fsnotify.c | 5 +++-- > > kernel/audit_tree.c | 2 +- > > kernel/audit_watch.c | 4 ++-- > > kernel/auditfilter.c | 7 ++++--- > > kernel/auditsc.c | 7 +++---- > > 19 files changed, 52 insertions(+), 46 deletions(-) > > fs/dcache.c | 14 ++++++-------- > fs/debugfs/inode.c | 2 +- > fs/kernfs/file.c | 6 ++++-- > fs/namei.c | 4 ++-- > fs/notify/dnotify/dnotify.c | 2 +- > fs/notify/fanotify/fanotify.c | 2 +- > fs/notify/fsnotify.c | 8 ++++---- > fs/notify/inotify/inotify.h | 2 +- > fs/notify/inotify/inotify_fsnotify.c | 6 +++--- > fs/overlayfs/export.c | 2 +- > include/linux/dcache.h | 2 +- > include/linux/fsnotify.h | 10 +++++----- > include/linux/fsnotify_backend.h | 6 +++--- > kernel/audit.h | 2 +- > kernel/audit_fsnotify.c | 2 +- > kernel/audit_tree.c | 2 +- > kernel/audit_watch.c | 4 ++-- > kernel/auditfilter.c | 6 +++--- > kernel/auditsc.c | 4 ++-- > 19 files changed, 43 insertions(+), 43 deletions(-) > > here... Pretty similar :) Let's just go with yours then, since it breaks out some of the strlen changes into separate patches. Cheers, -- Jeff Layton <jlayton@xxxxxxxxxx>