ladybird/Kernel/FileSystem
Sergey Bugaev ae64fd1b27 Kernel: Let symlinks resolve themselves
Symlink resolution is now a virtual method on an inode,
Inode::resolve_as_symlink(). The default implementation just reads the stored
inode contents, treats them as a path and calls through to VFS::resolve_path().

This will let us support other, magical files that appear to be plain old
symlinks but resolve to something else. This is particularly useful for ProcFS.
2020-01-17 21:49:58 +01:00
..
Custody.cpp Kernel+LibC: Add support for mount flags 2020-01-11 18:57:53 +01:00
Custody.h Kernel+LibC: Add support for mount flags 2020-01-11 18:57:53 +01:00
DevPtsFS.cpp Kernel: Entries in /dev/pts should be accessible only to the owner 2020-01-04 12:46:48 +01:00
DevPtsFS.h Kernel: Allow passing initial UID and GID when creating new inodes 2020-01-03 20:13:21 +01:00
DiskBackedFileSystem.cpp Kernel: Implement O_DIRECT open() flag to bypass disk caches 2019-11-05 19:35:12 +01:00
DiskBackedFileSystem.h Kernel: Implement O_DIRECT open() flag to bypass disk caches 2019-11-05 19:35:12 +01:00
ext2_fs.h Add clang-format file 2019-05-28 17:31:20 +02:00
ext2_types.h Add clang-format file 2019-05-28 17:31:20 +02:00
Ext2FileSystem.cpp Ext2FS: Assert that inline symlink read/write always uses offset=0 2020-01-15 22:11:44 +01:00
Ext2FileSystem.h Kernel: Allow passing initial UID and GID when creating new inodes 2020-01-03 20:13:21 +01:00
FIFO.cpp Kernel: Don't leak kmalloc pointers through FIFO absolute paths 2020-01-07 10:29:47 +01:00
FIFO.h Kernel: Don't leak kmalloc pointers through FIFO absolute paths 2020-01-07 10:29:47 +01:00
File.cpp Kernel: File::open() should apply r/w mode from the provided options 2020-01-04 12:30:55 +01:00
File.h Kernel: Allow fchmod() and fchown() on pre-bind() local sockets 2020-01-03 20:14:56 +01:00
FileDescription.cpp Kernel: read() and write() should EOVERFLOW if (offset+size) overflows 2020-01-12 20:20:17 +01:00
FileDescription.h Kernel: Add a basic lock to FileDescription 2020-01-12 20:09:44 +01:00
FileSystem.cpp AK: Use size_t for the length of strings 2019-12-09 17:51:21 +01:00
FileSystem.h Kernel: Allow passing initial UID and GID when creating new inodes 2020-01-03 20:13:21 +01:00
Inode.cpp Kernel: Let symlinks resolve themselves 2020-01-17 21:49:58 +01:00
Inode.h Kernel: Let symlinks resolve themselves 2020-01-17 21:49:58 +01:00
InodeFile.cpp Kernel: ftruncate() should update mtime 2020-01-08 15:21:06 +01:00
InodeFile.h Kernel: Allow fchmod() and fchown() on pre-bind() local sockets 2020-01-03 20:14:56 +01:00
InodeIdentifier.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
InodeMetadata.h Kernel: Take const Process& in InodeMetadata::may_{read,write,execute} 2020-01-07 19:24:06 +01:00
InodeWatcher.cpp Kernel: Make File's can_read/can_write take a const FileDescription& 2019-11-04 14:03:14 +01:00
InodeWatcher.h Kernel: Make File's can_read/can_write take a const FileDescription& 2019-11-04 14:03:14 +01:00
ProcFS.cpp Kernel: Don't forget to copy & destroy root_directory_for_procfs 2020-01-12 20:02:11 +01:00
ProcFS.h Kernel: Allow passing initial UID and GID when creating new inodes 2020-01-03 20:13:21 +01:00
TmpFS.cpp TmpFS: Synthesize "." and ".." in traverse_as_directory() 2020-01-10 13:16:55 +01:00
TmpFS.h Kernel: Allow passing initial UID and GID when creating new inodes 2020-01-03 20:13:21 +01:00
VirtualFileSystem.cpp Kernel: Let symlinks resolve themselves 2020-01-17 21:49:58 +01:00
VirtualFileSystem.h Kernel: Simplify VFS::resolve_path() further 2020-01-17 21:49:58 +01:00