Re: [PATCH bpf-next 3/4] bpf: Introduce path iterator
From: Song Liu <song@kernel.org>
Date: 2025-06-02 13:27:43
Also in:
bpf, linux-fsdevel, lkml
On Mon, Jun 2, 2025 at 2:27 AM Christian Brauner [off-list ref] wrote:
On Thu, May 29, 2025 at 11:00:51AM -0700, Song Liu wrote:quoted
On Thu, May 29, 2025 at 10:38 AM Al Viro [off-list ref] wrote:quoted
On Thu, May 29, 2025 at 09:53:21AM -0700, Song Liu wrote:quoted
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 mayNo, 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