|
|
Log in / Subscribe / Register

Change ->mkdir() and vfs_mkdir() to return a dentry

From:  NeilBrown <neilb-AT-suse.de>
To:  Alexander Viro <viro-AT-zeniv.linux.org.uk>, Christian Brauner <brauner-AT-kernel.org>, Jan Kara <jack-AT-suse.cz>
Subject:  [PATCH 0/6 v2] Change ->mkdir() and vfs_mkdir() to return a dentry
Date:  Thu, 27 Feb 2025 12:32:52 +1100
Message-ID:  <20250227013949.536172-1-neilb@suse.de>
Cc:  Chuck Lever <chuck.lever-AT-oracle.com>, Jeff Layton <jlayton-AT-kernel.org>, Trond Myklebust <trondmy-AT-kernel.org>, Anna Schumaker <anna-AT-kernel.org>, linux-nfs-AT-vger.kernel.org, Ilya Dryomov <idryomov-AT-gmail.com>, Xiubo Li <xiubli-AT-redhat.com>, ceph-devel-AT-vger.kernel.org, Miklos Szeredi <miklos-AT-szeredi.hu>, linux-fsdevel-AT-vger.kernel.org, Richard Weinberger <richard-AT-nod.at>, Anton Ivanov <anton.ivanov-AT-cambridgegreys.com>, Johannes Berg <johannes-AT-sipsolutions.net>, linux-um-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org
Archive-link:  Article

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.



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds