Re: [PATCH 0/5] vfs: track the dentry name length in name_snapshot
From: Al Viro
Date: Fri Apr 26 2019 - 14:52:05 EST
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@xxxxxxxxxxxx
> 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...