[PATCH v2 22/50] convert efivarfs
James Bottomley
James.Bottomley at HansenPartnership.com
Tue Oct 28 23:53:45 AEDT 2025
On Tue, 2025-10-28 at 00:45 +0000, Al Viro wrote:
> Initially filesystem is populated with d_alloc_name() + d_add().
> That becomes d_alloc_name() + d_make_persistent() + dput().
> Dynamic creation is switched to d_make_persistent();
> removal - to simple_unlink() (no point open-coding it in
> efivarfs_unlink(), better call it there)
>
> Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
The patch looks fine to me ... you can add an ack if you're collecting
them, but don't bother if you're not.
This caught my eye, though:
[...]
> @@ -278,7 +278,8 @@ static int efivarfs_create_dentry(struct
> super_block *sb, efi_char16_t *name16,
> inode->i_private = entry;
> i_size_write(inode, size + sizeof(__u32)); /* attributes +
> data */
> inode_unlock(inode);
> - d_add(dentry, inode);
> + d_make_persistent(dentry, inode);
> + dput(dentry);
That dput looks misplaced in a creation routine and this is a common
pattern in pseudo filesystems that either pre-populate the dentry state
or create effectively unused dentries on other changes. I know not
every pseudo filesystem does this, but it did make me wonder if it
should have it's own API, say d_create_persistent()?
Regards,
James
More information about the Linuxppc-dev
mailing list