1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-10 06:57:35 +00:00
serenity/Kernel/FileSystem
Liav A 72b1998f0d Kernel: Introduce a new partitioning subsystem
The partitioning code was very outdated, and required a full refactor.
The new subsystem removes duplicated code and uses more AK containers.

The most important change is that all implementations of the
PartitionTable class conform to one interface, which made it possible
to remove unnecessary code in the EBRPartitionTable class.

Finding partitions is now done in the StorageManagement singleton,
instead of doing so in init.cpp.

Also, now we don't try to find partitions on demand - the kernel will
try to detect if a StorageDevice is partitioned, and if so, will check
what is the partition table, which could be MBR, GUID or EBR.
Then, it will create DiskPartitionMetadata object for each partition
that is available in the partition table. This object will be used
by the partition enumeration code to create a DiskPartition with the
correct minor number.
2020-12-27 23:07:44 +01:00
..
BlockBasedFileSystem.cpp Kernel: Convert read_block method to get a reference instead of pointer 2020-12-27 23:07:44 +01:00
BlockBasedFileSystem.h Kernel: Convert read_block method to get a reference instead of pointer 2020-12-27 23:07:44 +01:00
Custody.cpp Kernel: Support read-only filesystem mounts 2020-05-29 07:53:30 +02:00
Custody.h Kernel: Support read-only filesystem mounts 2020-05-29 07:53:30 +02:00
DevFS.cpp Kernel: Introduce a new partitioning subsystem 2020-12-27 23:07:44 +01:00
DevFS.h Kernel: Introduce the DevFS 2020-12-27 23:07:44 +01:00
DevPtsFS.cpp AK: Make RefPtr, NonnullRefPtr, WeakPtr thread safe 2020-11-10 19:11:52 +01:00
DevPtsFS.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
ext2_fs.h Meta: Remove some copyright headers added in error 2020-01-25 10:34:32 +01:00
ext2_types.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
Ext2FileSystem.cpp Kernel: Convert read_block method to get a reference instead of pointer 2020-12-27 23:07:44 +01:00
Ext2FileSystem.h Ext2FS: Fail the mount if BGD table cache allocation fails 2020-12-18 19:22:26 +01:00
FIFO.cpp Kernel: Fix some issues related to fixes and block conditions 2020-12-12 21:28:12 +01:00
FIFO.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
File.cpp Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
File.h Kernel: Fix some issues related to fixes and block conditions 2020-12-12 21:28:12 +01:00
FileBackedFileSystem.cpp Kernel: Split BlockBasedFileSystem off FileBackedFileSystem 2020-07-05 12:26:27 +02:00
FileBackedFileSystem.h Kernel: Split BlockBasedFileSystem off FileBackedFileSystem 2020-07-05 12:26:27 +02:00
FileDescription.cpp Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
FileDescription.h Kernel: Move KBufferBuilder to the fallible KBuffer API 2020-12-18 19:22:26 +01:00
FileSystem.cpp Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
FileSystem.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
Inode.cpp Kernel: Tweak parameter name in Inode::read_entire() 2020-12-23 20:36:14 +01:00
Inode.h Kernel: Move KBufferBuilder to the fallible KBuffer API 2020-12-18 19:22:26 +01:00
InodeFile.cpp Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
InodeFile.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
InodeIdentifier.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
InodeMetadata.h Everywhere: Redundant inline specifier on constexpr functions (#3807) 2020-10-20 18:08:13 +02:00
InodeWatcher.cpp Kernel: Move InodeWatcher::Event into Kernel/API/InodeWatcherEvent 2020-12-14 23:05:53 +01:00
InodeWatcher.h Kernel: Move InodeWatcher::Event into Kernel/API/InodeWatcherEvent 2020-12-14 23:05:53 +01:00
Plan9FileSystem.cpp Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
Plan9FileSystem.h Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
ProcFS.cpp Kernel: Remove the per-process icon_id and sys$set_process_icon() 2020-12-27 01:16:56 +01:00
ProcFS.h Kernel: Move KBufferBuilder to the fallible KBuffer API 2020-12-18 19:22:26 +01:00
TmpFS.cpp TmpFS: Use fallible KBuffer API 2020-12-18 19:22:26 +01:00
TmpFS.h TmpFS: Use fallible KBuffer API 2020-12-18 19:22:26 +01:00
VirtualFileSystem.cpp Kernel: Allow sys$rename() to rename symlinks 2020-12-27 15:38:07 +01:00
VirtualFileSystem.h Kernel: Implement unveil() as a prefix-tree 2020-12-26 11:54:54 +01:00