1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-13 18:12:08 +00:00
serenity/Kernel/FileSystem
Liav A 633006926f Kernel: Make the Jails' internal design a lot more sane
This is done with 2 major steps:
1. Remove JailManagement singleton and use a structure that resembles
    what we have with the Process object. This is required later for the
    second step in this commit, but on its own, is a major change that
    removes this clunky singleton that had no real usage by itself.
2. Use IntrusiveLists to keep references to Process objects in the same
    Jail so it will be much more straightforward to iterate on this kind
    of objects when needed. Previously we locked the entire Process list
    and we did a simple pointer comparison to check if the checked
    Process we iterate on is in the same Jail or not, which required
    taking multiple Spinlocks in a very clumsy and heavyweight way.
2023-03-12 10:21:59 -06:00
..
DevPtsFS Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
Ext2FS Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
FATFS Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
ISO9660FS Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
Plan9FS Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
ProcFS Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
RAMFS Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
SysFS Kernel: Make the Jails' internal design a lot more sane 2023-03-12 10:21:59 -06:00
AnonymousFile.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +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: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
BlockBasedFileSystem.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Custody.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Custody.h Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
DeviceFileTypes.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
FIFO.cpp Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
FIFO.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
File.cpp Kernel: Use non-locking {Nonnull,}RefPtr for OpenFileDescription 2023-03-07 00:30:12 +01:00
File.h Kernel: Use non-locking {Nonnull,}RefPtr for OpenFileDescription 2023-03-07 00:30:12 +01:00
FileBackedFileSystem.cpp Kernel: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04:00
FileBackedFileSystem.h Kernel: Use non-locking {Nonnull,}RefPtr for OpenFileDescription 2023-03-07 00:30:12 +01:00
FileSystem.cpp Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
FileSystem.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Inode.cpp Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
Inode.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
InodeFile.cpp Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
InodeFile.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
InodeIdentifier.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
InodeMetadata.cpp Kernel: Use real UID/GID when checking for file access 2022-12-11 19:55:37 -07:00
InodeMetadata.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
InodeWatcher.cpp Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
InodeWatcher.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
Mount.cpp Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
Mount.h Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
OpenFileDescription.cpp Kernel: Use non-locking {Nonnull,}RefPtr for OpenFileDescription 2023-03-07 00:30:12 +01:00
OpenFileDescription.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +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 Kernel: Use non-locking {Nonnull,}RefPtr for OpenFileDescription 2023-03-07 00:30:12 +01:00
VirtualFileSystem.h Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00