Re: [PATCH] vfs: remove the excl argument from the ->create() inode_operation
NeilBrown <[email protected]> Thu, 06 Nov 2025 08:23:24 +1100
| Newsgroups | gmane.linux.uml.devel,gmane.linux.kernel,gmane.linux.file-systems,gmane.comp.file-systems.btrfs,gmane.comp.file-systems.ceph.devel,gmane.comp.file-systems.coda.general,gmane.comp.file-systems.ecryptfs.general,gmane.linux.kernel.efi,gmane.comp.file-systems.ext4,gmane.linux.file-systems.f2fs,gmane.linux.kernel.mm,gmane.linux.drivers.mtd,gmane.linux.nfs,gmane.comp.file-systems.nilfs.user,gmane.linux.hardware.karma.devel,gmane.linux.file-systems.union,gmane.linux.kernel.cifs,gmane.network.samba.internals |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 06 Nov 2025, Jeff Layton wrote:
> Since ce8644fcadc5 ("lookup_open(): expand the call of vfs_create()"),
> the "excl" argument to the ->create() inode_operation is always set to
> true. Remove it, and fix up all of the create implementations.
nonono
> @@ -3802,7 +3802,7 @@ static struct dentry *lookup_open(struct nameidata *nd, struct file *file,
> }
>
> error = dir_inode->i_op->create(idmap, dir_inode, dentry,
> - mode, open_flag & O_EXCL);
> + mode);
"open_flag & O_EXCL" is not the same as "true".
It is true that "all calls to vfs_create() pass true for 'excl'"
The same is NOT true for inode_operations.create.
NeilBrown