On Fri, Jun 25, 2021 at 08:00:49AM +0000, Justin He wrote: > --- a/fs/d_path.c > +++ b/fs/d_path.c > @@ -210,6 +210,7 @@ static int prepend_path(const struct path *path, > b = *p; > read_seqbegin_or_lock(&rename_lock, &seq); > error = __prepend_path(path->dentry, real_mount(path->mnt), root, &b); > + printk("prepend=%d",error); > if (!(seq & 1)) > rcu_read_unlock(); > if (need_seqretry(&rename_lock, seq)) { > > Then the result seems a little different: > root@entos-ampere-02:~# dmesg |grep prepend=1 |wc -l > 7417 > root@entos-ampere-02:~# dmesg |grep prepend=0 |wc -l > 772 > > The kernel is 5.13.0-rc2+ + this series + my '%pD' series > > Any thoughts? On which loads? 1 here is "mount/dentry pair is in somebody else's namespace or outside of the subtree we are chrooted into". IOW, what's calling d_path() on your setup?