linux/Documentation/filesystems
Al Viro f7862dfef6 saner replacement for debugfs_rename()
Existing primitive has several problems:
	1) calling conventions are clumsy - it returns a dentry reference
that is either identical to its second argument or is an ERR_PTR(-E...);
in both cases no refcount changes happen.  Inconvenient for users and
bug-prone; it would be better to have it return 0 on success and -E... on
failure.
	2) it allows cross-directory moves; however, no such caller have
ever materialized and considering the way debugfs is used, it's unlikely
to happen in the future.  What's more, any such caller would have fun
issues to deal with wrt interplay with recursive removal.  It also makes
the calling conventions clumsier...
	3) tautological rename fails; the callers have no race-free way
to deal with that.
	4) new name must have been formed by the caller; quite a few
callers have it done by sprintf/kasprintf/etc., ending up with considerable
boilerplate.

Proposed replacement: int debugfs_change_name(dentry, fmt, ...).  All callers
convert to that easily, and it's simpler internally.

IMO debugfs_rename() should go; if we ever get a real-world use case for
cross-directory moves in debugfs, we can always look into the right way
to handle that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Link: https://lore.kernel.org/r/20250112080705.141166-21-viro@zeniv.linux.org.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-01-15 13:14:37 +01:00
..
bcachefs bcachefs: Fix a spelling error in docs 2024-09-09 09:41:48 -04:00
caching doc: correcting the debug path for cachefiles 2024-10-24 13:50:27 +02:00
ext4
iomap vfs-6.13.untorn.writes 2024-11-18 11:30:09 -08:00
nfs Merge patch series "Fixup NLM and kNFSD file lock callbacks" 2024-10-02 07:52:07 +02:00
smb ksmbd: fix spelling mistakes in documentation 2024-08-18 17:02:36 -05:00
spufs
xfs docs: describe xfs directory tree online fsck 2024-04-15 14:59:01 -07:00
9p.rst USB/Thunderbolt update for 6.12-rc1 2024-09-26 09:45:36 -07:00
adfs.rst
affs.rst
afs.rst
api-summary.rst doc: split buffer.rst out of api-summary.rst 2024-05-05 17:53:40 -07:00
autofs-mount-control.rst
autofs.rst Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
automount-support.rst
befs.rst
bfs.rst
btrfs.rst
buffer.rst doc: split buffer.rst out of api-summary.rst 2024-05-05 17:53:40 -07:00
ceph.rst doc: ceph: update userspace command to get CephFS metadata 2024-05-23 10:35:47 +02:00
coda.rst
configfs.rst
cramfs.rst
dax.rst
debugfs.rst saner replacement for debugfs_rename() 2025-01-15 13:14:37 +01:00
devpts.rst
directory-locking.rst Docs: typos/spelling 2024-05-02 10:02:29 -06:00
dlmfs.rst Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
dnotify.rst
ecryptfs.rst
efivarfs.rst Documentation: Mark the 'efivars' sysfs interface as removed 2024-04-13 10:33:02 +02:00
erofs.rst erofs: allow large folios for compressed files 2024-08-19 16:10:04 +08:00
ext2.rst
ext3.rst
f2fs.rst f2fs: introduce device aliasing file 2024-11-01 01:19:00 +00:00
fiemap.rst
files.rst docs: filesystems: fix typo in docs 2024-02-09 10:37:20 +01:00
fscrypt.rst fscrypt: write CBC-CTS instead of CTS-CBC 2024-02-23 21:38:59 -08:00
fsverity.rst Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
fuse-io.rst docs/fuse-io: Document the usage of DIRECT_IO_ALLOW_MMAP 2023-12-04 10:16:53 +01:00
fuse.rst
gfs2-glocks.rst gfs2: Get rid of demote_ok checks 2024-05-29 15:34:55 +02:00
gfs2-uevents.rst
gfs2.rst
hfs.rst
hfsplus.rst
hpfs.rst
idmappings.rst doc: correcting the idmapping mount example 2024-08-30 08:22:37 +02:00
index.rst Documentation: add a new file documenting multigrain timestamps 2024-10-10 10:20:52 +02:00
inotify.rst
isofs.rst
journalling.rst docs:filesystems: fix spelling and grammar mistakes 2024-09-10 15:36:50 -06:00
locking.rst fs: Convert aops->write_begin to take a folio 2024-08-07 11:33:21 +02:00
locks.rst
mount_api.rst fs_parser: update mount_api doc to match function signature 2024-11-26 10:32:20 +01:00
multigrain-ts.rst Documentation: add a new file documenting multigrain timestamps 2024-10-10 10:20:52 +02:00
netfs_library.rst netfs: fix documentation build error 2024-10-08 10:39:38 +02:00
nilfs2.rst
ntfs3.rst
ocfs2-online-filecheck.rst
ocfs2.rst
omfs.rst
orangefs.rst
overlayfs.rst Documentation,ovl: document new file descriptor based layers 2024-10-14 16:31:16 +02:00
path-lookup.rst Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
path-lookup.txt Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
porting.rst reiserfs: The last commit 2024-10-21 16:29:38 +02:00
proc.rst mm: Define VM_SHADOW_STACK for arm64 when we support GCS 2024-10-04 12:04:36 +01:00
qnx6.rst
quota.rst
ramfs-rootfs-initramfs.rst Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
relay.rst
romfs.rst
seq_file.rst
sharedsubtree.rst
splice.rst
squashfs.rst docs: filesystems: document the squashfs specific mount options 2023-12-10 17:21:31 -08:00
sysfs.rst
sysv-fs.rst
tmpfs.rst docs: tmpfs: Add casefold options 2024-10-28 13:36:55 +01:00
ubifs-authentication.rst
ubifs.rst
udf.rst
vfat.rst
vfs.rst ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
virtiofs.rst
zonefs.rst