On Fri, Nov 15, 2019 at 06:42:09PM +0000, Al Viro wrote: > Come to think of that, if we use IS_DEADDIR as "no more additions" marking, > that looks like a good candidate for all in-kernel rm -rf on ramfs-style > filesystems without cross-directory renames. This bit in kill_it() above > if victim is regular > __debugfs_file_removed(victim) > would be an fs-specific callback passed by the caller, turning the whole > thing into this: Umm... A bit more than that, actually - the callback would be void remove_one(struct dentry *victim) { if (d_is_reg(victim)) __debugfs_file_removed(victim); simple_release_fs(&debugfs_mount, &debugfs_mount_count); } and the caller would do simple_pin_fs(&debug_fs_type, &debugfs_mount, &debugfs_mount_count); simple_recursive_removal(dentry, remove_one); simple_release_fs(&debugfs_mount, &debugfs_mount_count);