[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPhsuW7ogestn8Cc2jac2O0fnWcH_w=HuZQiSOx0umM4uT6Whg@mail.gmail.com>
Date: Mon, 2 Jun 2025 06:27:31 -0700
From: Song Liu <song@...nel.org>
To: Christian Brauner <brauner@...nel.org>
Cc: Al Viro <viro@...iv.linux.org.uk>, Jan Kara <jack@...e.cz>, bpf@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-security-module@...r.kernel.org, kernel-team@...a.com,
andrii@...nel.org, eddyz87@...il.com, ast@...nel.org, daniel@...earbox.net,
martin.lau@...ux.dev, kpsingh@...nel.org, mattbobrowski@...gle.com,
amir73il@...il.com, repnop@...gle.com, jlayton@...nel.org,
josef@...icpanda.com, mic@...ikod.net, gnoack@...gle.com
Subject: Re: [PATCH bpf-next 3/4] bpf: Introduce path iterator
On Mon, Jun 2, 2025 at 2:27 AM Christian Brauner <brauner@...nel.org> wrote:
>
> On Thu, May 29, 2025 at 11:00:51AM -0700, Song Liu wrote:
> > On Thu, May 29, 2025 at 10:38 AM Al Viro <viro@...iv.linux.org.uk> wrote:
> > >
> > > On Thu, May 29, 2025 at 09:53:21AM -0700, Song Liu wrote:
> > >
> > > > Current version of path iterator only supports walking towards the root,
> > > > with helper path_parent. But the path iterator API can be extended
> > > > to cover other use cases.
> > >
> > > Clarify the last part, please - call me paranoid, but that sounds like
> > > a beginning of something that really should be discussed upfront.
> >
> > We don't have any plan with future use cases yet. The only example
> > I mentioned in the original version of the commit log is "walk the
> > mount tree". IOW, it is similar to the current iterator, but skips non
> > mount point iterations.
> >
> > Since we call it "path iterator", it might make sense to add ways to
> > iterate the VFS tree in different patterns. For example, we may
>
> No, we're not adding a swiss-army knife for consumption by out-of-tree
> code. I'm not opposed to adding a sane iterator for targeted use-cases
> with a clear scope and internal API behavior as I've said multiple times
> already on-list and in-person.
>
> I will not merge anything that will endup exploding into some fancy
> "walk subtrees in any order you want".
We are not proposing (and AFAICT never proposed) to have a
swiss-army knife that "walk subtrees in any order you want". Instead,
we are proposing a sane iterator that serves exactly one use case
now. I guess the concern is that it looks extensible. However, I made
the API like this so that it can be extended, with thorough reviews, to
cover another sane use case. If there is still concern with this. We
sure can make current code not extensible. In case there is a
different sane use case, we will introduce another iterator after
thorough reviews.
Thanks,
Song
Powered by blists - more mailing lists