From: Al Viro <viro@zeniv.linux.org.uk>
To: Christian Brauner <brauner@kernel.org>
Cc: linux-fsdevel@vger.kernel.org,
Andreas Hindborg <a.hindborg@kernel.org>,
Breno Leitao <leitao@debian.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jan Kara <jack@suse.cz>
Subject: Re: [PATCH v2 1/3] get rid of impossible checks in detach_attrs()/configfs_detach_item()
Date: Wed, 3 Jun 2026 09:28:16 +0100 [thread overview]
Message-ID: <20260603082816.GV2636677@ZenIV> (raw)
In-Reply-To: <20260603-lausbub-meerjungfrau-hierher-272084648719@brauner>
On Wed, Jun 03, 2026 at 10:09:37AM +0200, Christian Brauner wrote:
> On Wed, Jun 03, 2026 at 08:53:40AM +0100, Al Viro wrote:
> > Argh... Please disregard the 1--3/3 part of the thread -
> > I've missed the stale (and really ancient - it is from back in
> > 2019) files sitting around. Sorry, should've checked what the glob
> > had expanded to... ;-/
>
> I'm more worried about what time it is where you currently are... ;)
4am ;-/
FWIW, the followups in #more.configfs switch the sucker to
..._recursive_removal() and massage it to building subtrees
detached from the main dentry tree; as the result, the locking
is _much_ milder there - all lockdep magic goes away and so
does the configfs_dirent_is_ready() crap.
Diffstat of that part:
Documentation/filesystems/porting.rst | 8 +
fs/configfs/configfs_internal.h | 12 +-
fs/configfs/dir.c | 705 +++++++-------------------
fs/configfs/file.c | 43 --
fs/configfs/inode.c | 41 +-
fs/configfs/symlink.c | 9 -
fs/dcache.c | 2 +-
fs/libfs.c | 61 ++-
include/linux/fs.h | 2 +
include/linux/fsnotify.h | 13 -
net/sunrpc/rpc_pipe.c | 2 +-
11 files changed, 243 insertions(+), 655 deletions(-)
and it even seems to survive light testing. There still are bits
in old branches that need to be ported on top of that, but most
of the tricky massage is already in. Unlike #work.configfs that's
the next cycle fodder, though.
I suspect that #fixes-configfs (first two commits on #work.configfs)
might be worth merging before -final; the rest of #work.configfs is
-next fodder if nobody has problems with it. #more.configfs is
going to be rebased on top of 7.2-rc1 at the end of merge window...
Anyway, I'm really too sleepy right now - will post other stuff
intended for -next (starting with updated #work.dcache) after I get
some sleep.
next prev parent reply other threads:[~2026-06-03 8:28 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-19 7:06 [RFC PATCH 00/14] configfs cleanups and fixes Al Viro
2026-05-19 7:06 ` [RFC PATCH 01/14] configfs_lookup(): don't leave ->s_dentry dangling on failure Al Viro
2026-05-19 9:57 ` Jan Kara
2026-05-21 16:38 ` Breno Leitao
2026-05-19 7:06 ` [RFC PATCH 02/14] configfs_mkdir(): use take_dentry_name_snapshot() Al Viro
2026-05-19 9:59 ` Jan Kara
2026-05-21 16:54 ` Breno Leitao
2026-05-19 7:06 ` [RFC PATCH 03/14] configfs_detach_prep(): pass configfs_dirent instead of dentry Al Viro
2026-05-19 10:12 ` Jan Kara
2026-05-21 17:03 ` Breno Leitao
2026-05-19 7:06 ` [RFC PATCH 04/14] configfs_depend_prep(): " Al Viro
2026-05-19 10:18 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 05/14] configfs_do_depend_item(): " Al Viro
2026-05-19 10:25 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 06/14] configfs_detach_rollback(): " Al Viro
2026-05-19 10:26 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 07/14] populate_group(): move cleanup on failure to the sole caller Al Viro
2026-05-19 10:29 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 08/14] populate_attrs(): move cleanup " Al Viro
2026-05-19 10:31 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 09/14] configfs_remove_dir(), detach_attrs(): switch to passing dentry Al Viro
2026-05-19 10:42 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 10/14] switch configfs_detach_{group,item}() " Al Viro
2026-05-19 12:10 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 11/14] configfs: dentry refcount needs to be pinned only once Al Viro
2026-05-19 13:21 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 12/14] configfs: mark pinned dentries persistent Al Viro
2026-05-19 13:03 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 13/14] kill configfs_drop_dentry() Al Viro
2026-05-19 13:12 ` Jan Kara
2026-05-19 14:44 ` Linus Torvalds
2026-05-19 15:37 ` Al Viro
2026-05-19 21:06 ` Jan Kara
2026-05-19 7:06 ` [RFC PATCH 14/14] configfs_create(): lift parent timestamp updates into callers Al Viro
2026-05-19 13:23 ` Jan Kara
2026-06-03 7:47 ` [PATCH v2 00/18] configfs cleanups and fixes Al Viro
2026-06-03 7:47 ` [PATCH v2 01/18] configfs_lookup(): don't leave ->s_dentry dangling on failure Al Viro
2026-06-03 7:47 ` [PATCH v2 1/3] get rid of impossible checks in detach_attrs()/configfs_detach_item() Al Viro
2026-06-03 7:53 ` Al Viro
2026-06-03 8:09 ` Christian Brauner
2026-06-03 8:28 ` Al Viro [this message]
2026-06-03 7:47 ` [PATCH v2 2/3] configfs_detach_item(): victim is never negative Al Viro
2026-06-03 7:47 ` [PATCH v2 02/18] configfs: fix lockless traversals of ->s_children Al Viro
2026-06-03 7:47 ` [PATCH v2 3/3] configfs: expand the call of simple_rmdir() Al Viro
2026-06-03 7:48 ` [PATCH v2 03/18] configfs_mkdir(): use take_dentry_name_snapshot() Al Viro
2026-06-03 7:48 ` [PATCH v2 04/18] configfs_detach_prep(): pass configfs_dirent instead of dentry Al Viro
2026-06-03 7:48 ` [PATCH v2 05/18] configfs_depend_prep(): " Al Viro
2026-06-03 7:48 ` [PATCH v2 06/18] configfs_do_depend_item(): " Al Viro
2026-06-03 7:48 ` [PATCH v2 07/18] configfs_detach_rollback(): " Al Viro
2026-06-03 7:48 ` [PATCH v2 08/18] populate_group(): move cleanup on failure to the sole caller Al Viro
2026-06-03 7:48 ` [PATCH v2 09/18] populate_attrs(): move cleanup " Al Viro
2026-06-03 7:48 ` [PATCH v2 10/18] configfs_remove_dir(), detach_attrs(): switch to passing dentry Al Viro
2026-06-03 7:48 ` [PATCH v2 11/18] switch configfs_detach_{group,item}() " Al Viro
2026-06-03 7:48 ` [PATCH v2 12/18] configfs: dentry refcount needs to be pinned only once Al Viro
2026-06-03 7:48 ` [PATCH v2 13/18] configfs: mark pinned dentries persistent Al Viro
2026-06-03 7:48 ` [PATCH v2 14/18] kill configfs_drop_dentry() Al Viro
2026-06-03 7:48 ` [PATCH v2 15/18] configfs_create(): lift parent timestamp updates into callers Al Viro
2026-06-03 7:48 ` [PATCH v2 16/18] configs_attach_item(): drop unused parent_item argument Al Viro
2026-06-03 7:48 ` [PATCH v2 17/18] configfs_attach_group(): drop the " Al Viro
2026-06-03 7:48 ` [PATCH v2 18/18] create_default_group(): pass parent's dentry instead of config_group Al Viro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260603082816.GV2636677@ZenIV \
--to=viro@zeniv.linux.org.uk \
--cc=a.hindborg@kernel.org \
--cc=brauner@kernel.org \
--cc=jack@suse.cz \
--cc=leitao@debian.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox