On Fri, Feb 21, 2025 at 10:36:30AM +1100, NeilBrown wrote: > +In general, filesystems which use d_instantiate_new() to install the new > +inode can safely return NULL. Filesystems which may not have an I_NEW inode > +should use d_drop();d_splice_alias() and return the result of the latter. IMO that's a bad pattern, _especially_ if you want to go for "in-update" kind of stuff later. That's pretty much the same thing as d_drop()/d_rehash() window. We'd be better off dropping that BUG_ON() in d_splice_alias() and teaching __d_add() to handle the "it's a hashed negative" case.