1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:28:12 +00:00
serenity/Kernel/FileSystem
Liav A 80f400a150 Kernel/VFS: Don't resolve root inode mounts when traversing a directory
This is not useful, as we have literally zero knowledge about where this
inode is actually located at with respect to the entire global path tree
so we could easily encounter a case where we do the following:

```
mkdir -p /tmp2
mount /dev/hda /tmp2
```

and when traversing the /tmp2 directory entries, we will see the root
inode of /dev/hda on "/tmp2/tmp2", even if it was not mounted.

Therefore, we should just plainly give the raw directory entries as they
are written "on the disk". Anything else that needs to exactly know if
there's an underlying mounted filesystem, can just use the stat syscall
instead.
2023-08-05 18:41:01 +02:00
..
DevPtsFS Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
Ext2FS Kernel/FileSystem: Rename block_size -> logical_block_size 2023-07-28 14:51:07 +02:00
FATFS Kernel/FileSystem: Rename block_size -> logical_block_size 2023-07-28 14:51:07 +02:00
ISO9660FS Kernel/FileSystem: Rename block_size -> logical_block_size 2023-07-28 14:51:07 +02:00
Plan9FS Kernel/Tasks: Allow Kernel processes to be shut down 2023-07-15 00:12:01 +02:00
ProcFS Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
RAMFS Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
SysFS Kernel/FileSystem: Rename block_size -> logical_block_size 2023-07-28 14:51:07 +02:00
AnonymousFile.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
AnonymousFile.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
BlockBasedFileSystem.cpp Kernel/FileSystem: Rename block_size -> logical_block_size 2023-07-28 14:51:07 +02:00
BlockBasedFileSystem.h Kernel/FileSystem: Rename logical_block_size -> device_block_size 2023-07-28 14:51:07 +02:00
Custody.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Custody.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
DeviceFileTypes.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
FIFO.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
FIFO.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
File.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
File.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
FileBackedFileSystem.cpp Kernel: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04:00
FileBackedFileSystem.h Kernel/FileSystem: Pass last mount point guest inode to unmount prepare 2023-07-15 00:12:01 +02:00
FileSystem.cpp Kernel/Ext2: Check and set file system state 2023-07-15 00:12:01 +02:00
FileSystem.h Kernel/FileSystem: Rename block_size -> logical_block_size 2023-07-28 14:51:07 +02:00
Initializer.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
Inode.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
Inode.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
InodeFile.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
InodeFile.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
InodeIdentifier.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
InodeMetadata.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
InodeMetadata.h Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
InodeWatcher.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
InodeWatcher.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Mount.cpp Kernel: Add accessor for mount host custody 2023-07-15 00:12:01 +02:00
Mount.h Kernel: Add accessor for mount host custody 2023-07-15 00:12:01 +02:00
MountFile.cpp Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
MountFile.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
OpenFileDescription.cpp Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
OpenFileDescription.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
UnveilNode.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
VirtualFileSystem.cpp Kernel/VFS: Don't resolve root inode mounts when traversing a directory 2023-08-05 18:41:01 +02:00
VirtualFileSystem.h Kernel/VFS: Ensure Custodies' absolute path don't match before mounting 2023-08-05 18:41:01 +02:00