On Mon, Dec 23, 2024 at 06:11:16PM +1100, NeilBrown wrote: > ... Yes, thanks. > > So I need __d_unalias() to effectively do a "try_lock" of > DCACHE_PAR_UPDATE and hold the lock across __d_move(). > I think that would address the concerned you raised. > > Did you see anything else that might be problematic? That might work with ->d_parent, but it won't help with ->d_name in same-parent case of __d_unalias()...