From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH 0/5] vfs: track the dentry name length in name_snapshot Date: Fri, 26 Apr 2019 19:51:59 +0100 Message-ID: <20190426185158.GB2217@ZenIV.linux.org.uk> References: <20190426182847.25088-1-jlayton@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20190426182847.25088-1-jlayton@kernel.org> Sender: linux-kernel-owner@vger.kernel.org To: Jeff Layton Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, miklos@szeredi.hu, gregkh@linuxfoundation.org, tj@kernel.org, jack@suse.cz, amir73il@gmail.com, paul@paul-moore.com, eparis@redhat.com, linux-audit@redhat.com, rafael@kernel.org List-Id: linux-audit@redhat.com 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...