Until now we have a devfs which is a filesystem of its own. This comes with a few limitations:
- we cannot create directories under /dev/ - Links are implemented in the devfs filesystem. They do not show up as regular links This series overcomes these limitations by implementing device special nodes. These nodes are limited to ramfs, so we cannot mount arbitrary filesystems and use the device special files found on them. Nevertheless we can create and use device special files on ramfs which is enough to drop the devfs filesystem implementation and just use ramfs on /dev/. This will in future allow us to create /dev/disk/by-* structures under /dev/. Signed-off-by: Sascha Hauer <[email protected]> --- Changes in v2: - Fix storage-by-uuid driver for devfs changes - remove created device special files and links on devfs_remove() - Link to v1: https://lore.barebox.org/[email protected] --- Sascha Hauer (13): fs: devfs-core: add devfs_create_link_node() storage-by-alias: drop fake cdev fs: implement mknod commands: add mknod command fs: ramfs: add device file support cdev: add cdev_size() helper fs: fix st_size for device files fs: retire devfs as filesystem fs: include cdevname in struct stat fs: stat_print: get cdevname from stat common: cdev-alias: rename struct fs: replace cdev links with aliases ls: use ~0 for FILE_SIZE_STREAM commands/Kconfig | 4 + commands/Makefile | 1 + commands/devinfo.c | 7 +- commands/ls.c | 8 +- commands/mknod.c | 43 ++++++++ common/cdev-alias.c | 12 +-- common/partitions.c | 2 +- common/startup.c | 2 +- drivers/block/dm/dm-core.c | 1 - drivers/misc/storage-by-alias.c | 120 ++-------------------- fs/devfs-core.c | 214 +++++++++++++++++++++++++--------------- fs/devfs.c | 180 +++------------------------------ fs/fs.c | 75 +++++++++----- fs/ramfs.c | 18 ++++ include/block.h | 2 - include/driver.h | 20 +++- include/fcntl.h | 6 ++ include/linux/fs.h | 13 +++ include/linux/stat.h | 1 + 19 files changed, 327 insertions(+), 402 deletions(-) --- base-commit: 500df27eb054f86ce232c5bb30c3a7ea8f771e61 change-id: 20251127-devfs-c138cff5482a Best regards, -- Sascha Hauer <[email protected]>
