Re: [PATCH 1/6] Change inode_operations.mkdir to return struct dentry *
From: Al Viro
Date: Fri Feb 21 2025 - 23:20:09 EST
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.