On Sun, Dec 29, 2024 at 08:09:48AM +0000, Al Viro wrote: > All of that could be avoided if we augmented debugfs inodes with > a couple of pointers - no more stashing crap in ->d_fsdata, etc. > And it's really not hard to do. The series below attempts to untangle > that mess; it can be found in > git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git #work.debugfs Rebased on top of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git driver-core-linus and force-pushed into the same branch. Changes since v1: * "debugfs: fix missing mutex_destroy() in short_fops case" dropped - already merged. * struct debugfs_short_fops made available without CONFIG_DEBUG_FS (fixes build breakage on !DEBUG_FS builds) * orangefs-debugfs converted to debugfs_create_file_aux_num() (accidentally missed in the original series) Shortlog: Al Viro (21): debugfs: separate cache for debugfs inodes debugfs: move ->automount into debugfs_inode_info debugfs: get rid of dynamically allocation proxy_ops debugfs: don't mess with bits in ->d_fsdata debugfs: allow to store an additional opaque pointer at file creation debugfs: take debugfs_short_fops definition out of ifdef carl9170: stop embedding file_operations into their objects b43: stop embedding struct file_operations into their objects b43legacy: make use of debugfs_get_aux() netdevsim: don't embed file_operations into your structs mediatek: stop messing with ->d_iname [not even compile-tested] greybus/camera - stop messing with ->d_iname mtu3: don't mess wiht ->d_iname xhci: don't mess with ->d_iname qat: don't mess with ->d_name sof-client-ipc-flood-test: don't mess with ->d_name slub: don't mess with ->d_name arm_scmi: don't mess with ->d_parent->d_name octeontx2: don't mess with ->d_parent or ->d_parent->d_name orangefs-debugfs: don't mess with ->d_name saner replacement for debugfs_rename() Diffstat: Documentation/filesystems/debugfs.rst | 12 +- .../crypto/intel/qat/qat_common/adf_tl_debugfs.c | 36 +--- drivers/firmware/arm_scmi/raw_mode.c | 12 +- drivers/net/bonding/bond_debugfs.c | 9 +- drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c | 19 +- .../ethernet/marvell/octeontx2/af/rvu_debugfs.c | 76 +++----- drivers/net/ethernet/marvell/skge.c | 5 +- drivers/net/ethernet/marvell/sky2.c | 5 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 +- drivers/net/netdevsim/hwstats.c | 29 ++- drivers/net/wireless/ath/carl9170/debug.c | 28 ++- drivers/net/wireless/broadcom/b43/debugfs.c | 27 ++- drivers/net/wireless/broadcom/b43legacy/debugfs.c | 26 ++- drivers/opp/debugfs.c | 10 +- drivers/phy/mediatek/phy-mtk-tphy.c | 40 +--- drivers/staging/greybus/camera.c | 17 +- drivers/usb/host/xhci-debugfs.c | 25 +-- drivers/usb/mtu3/mtu3_debugfs.c | 40 +--- fs/debugfs/file.c | 165 ++++++++-------- fs/debugfs/inode.c | 208 ++++++++++----------- fs/debugfs/internal.h | 50 +++-- fs/orangefs/orangefs-debugfs.c | 16 +- include/linux/debugfs.h | 44 ++++- mm/shrinker_debug.c | 16 +- mm/slub.c | 13 +- net/hsr/hsr_debugfs.c | 9 +- net/mac80211/debugfs_netdev.c | 11 +- net/wireless/core.c | 5 +- sound/soc/sof/sof-client-ipc-flood-test.c | 39 ++-- 29 files changed, 402 insertions(+), 596 deletions(-) Individual patches in followups.