mbox series

[0/6,v2] Change ->mkdir() and vfs_mkdir() to return a dentry

Message ID 20250227013949.536172-1-neilb@suse.de (mailing list archive)
Headers show
Series Change ->mkdir() and vfs_mkdir() to return a dentry | expand

Message

NeilBrown Feb. 27, 2025, 1:32 a.m. UTC
This revised series contains a few clean-ups as requested by various
people but no substantial changes.

It is based on vfs/vfs-6.15.async.dir plus vfs/vfs-6.15.sysv: I dropped the
change to sysv as it seemed pointless preserving them.

I reviewed the mkdir functions in many (all?) filesystems and found a
few that use d_instantiate() on an unlocked inode (after
unlock_new_inode()) and also support export_operations.  These could
potentially call d_instantiate() on a directory inode which is already
attached to an dentry, though making that happen would usually require
guessing the filehandle correctly.  I haven't tried to address those
here, (this patch set doesn't make that situation any worse) but I may
in the future.

Thanks,
NeilBrown


 [PATCH 1/6] Change inode_operations.mkdir to return struct dentry *
 [PATCH 2/6] hostfs: store inode in dentry after mkdir if possible.
 [PATCH 3/6] ceph: return the correct dentry on mkdir
 [PATCH 4/6] fuse: return correct dentry for ->mkdir
 [PATCH 5/6] nfs: change mkdir inode_operation to return alternate
 [PATCH 6/6] VFS: Change vfs_mkdir() to return the dentry.

Comments

Christian Brauner Feb. 27, 2025, 7:02 p.m. UTC | #1
On Thu, Feb 27, 2025 at 12:32:52PM +1100, NeilBrown wrote:
> It is based on vfs/vfs-6.15.async.dir plus vfs/vfs-6.15.sysv: I dropped the
> change to sysv as it seemed pointless preserving them.

I added that change so there's no dependency between the vfs-6.15.sysv
and vfs-6.15.async.dir branches.