Re: [PATCH 0/5] vfs: track the dentry name length in name_snapshot

Jeff Layton
2019-04-26T19:03:21Z

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@kernel.org>