ladybird/Kernel/FileSystem
Liav A 3af70cb0fc Kernel/Devices: Abstract SysFS Device add/remove methods more properly
It is starting to get a little messy with how each device can try to add
or remove itself to either /sys/dev/block or /sys/dev/char directories.

To better do this, we introduce 4 virtual methods to take care of that,
so until we ensure all nodes in /sys/dev/block and /sys/dev/char are
actual symlinks, we allow the Device base class to call virtual methods
upon insertion or before being destroying, so it add itself elegantly to
either of these directories or remove itself when needed.

For special cases where we need to create symlinks, we have two virtual
methods to be called otherwise to do almost the same thing mentioned
before, but to use symlinks instead.
2022-07-19 11:02:37 +01:00
..
SysFS Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
AnonymousFile.cpp Kernel: Don't require AnonymousFiles to be mmap'd completely 2022-04-21 13:55:00 +02:00
AnonymousFile.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BlockBasedFileSystem.cpp Kernel: Annotate all KBuffer and DoubleBuffer with a custom name 2022-07-12 00:55:31 +01:00
BlockBasedFileSystem.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Custody.cpp Kernel: Use default constructors/destructors 2022-03-17 00:51:36 -07:00
Custody.h Kernel: Remove the Custody::absolute_path() API 2022-01-12 16:09:09 +02:00
DeviceFileTypes.h Kernel: Include correct header for DistinctNumeric in DeviceFileTypes.h 2022-01-04 17:40:09 +00:00
DevPtsFS.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
DevPtsFS.h Kernel/FileSystem: Simplify even more the mount syscall 2022-05-29 19:31:02 +01:00
DevTmpFS.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
DevTmpFS.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ext2_fs.h Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
ext2_types.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Ext2FileSystem.cpp Kernel: Annotate all KBuffer and DoubleBuffer with a custom name 2022-07-12 00:55:31 +01:00
Ext2FileSystem.h Kernel/FileSystem: Simplify even more the mount syscall 2022-05-29 19:31:02 +01:00
FIFO.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
FIFO.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
File.cpp Kernel: Use default constructors/destructors 2022-03-17 00:51:36 -07:00
File.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FileBackedFileSystem.cpp Kernel: Use default constructors/destructors 2022-03-17 00:51:36 -07:00
FileBackedFileSystem.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FileSystem.cpp Kernel: Implement InterruptDisabler using generic Processor functions 2022-06-02 13:14:12 +01:00
FileSystem.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Inode.cpp Kernel: Try to set [cm]time in Inode::did_modify_contents 2022-07-15 12:42:43 +02:00
Inode.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
InodeFile.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
InodeFile.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
InodeIdentifier.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
InodeMetadata.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
InodeWatcher.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
InodeWatcher.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ISO9660FileSystem.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ISO9660FileSystem.h Kernel/FileSystem: Simplify even more the mount syscall 2022-05-29 19:31:02 +01:00
Mount.cpp Kernel: Convert Mount::absolute_path to ErrorOr<NonnullOwnPtr<KString>> 2022-01-12 16:09:09 +02:00
Mount.h Kernel: Convert Mount::absolute_path to ErrorOr<NonnullOwnPtr<KString>> 2022-01-12 16:09:09 +02:00
OpenFileDescription.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
OpenFileDescription.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Plan9FileSystem.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Plan9FileSystem.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ProcFS.cpp Kernel: Create /proc/pid/cmdline to expose process arguments in procfs 2022-06-19 09:05:35 +02:00
ProcFS.h Kernel/FileSystem: Simplify even more the mount syscall 2022-05-29 19:31:02 +01:00
SysFS.cpp Kernel/SysFS: Add Symbolic link functionality to the filesystem 2022-07-15 12:29:23 +02:00
SysFS.h Kernel/SysFS: Add Symbolic link functionality to the filesystem 2022-07-15 12:29:23 +02:00
TmpFS.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
TmpFS.h Kernel/FileSystem: Simplify even more the mount syscall 2022-05-29 19:31:02 +01:00
UnveilNode.h AK+Kernel: Specialize Trie for NNOP<KString> and use it in UnveilNode 2022-02-16 22:21:37 +01:00
VirtualFileSystem.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
VirtualFileSystem.h Kernel+LibC+VFS: Implement utimensat(3) 2022-05-21 18:15:00 +02:00