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

Jeff Layton jlayton at kernel.org
Fri Apr 26 19:03:16 UTC 2019


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




More information about the Linux-audit mailing list