1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:48:11 +00:00
serenity/Kernel/FileSystem
Liav A ed67a877a3 Kernel+SystemServer+Base: Introduce the RAMFS filesystem
This filesystem is based on the code of the long-lived TmpFS. It differs
from that filesystem in one keypoint - its root inode doesn't have a
sticky bit on it.

Therefore, we mount it on /dev, to ensure only root can modify files on
that directory. In addition to that, /tmp is mounted directly in the
SystemServer main (start) code, so it's no longer specified in the fstab
file. We ensure that /tmp has a sticky bit and has the value 0777 for
root directory permissions, which is certainly a special case when using
RAM-backed (and in general other) filesystems.

Because of these 2 changes, it's no longer needed to maintain the TmpFS
filesystem, hence it's removed (renamed to RAMFS), because the RAMFS
represents the purpose of this filesystem in a much better way - it
relies on being backed by RAM "storage", and therefore it's easy to
conclude it's temporary and volatile, so its content is gone on either
system shutdown or unmounting of the filesystem.
2023-02-04 15:32:45 -07:00
..
DevPtsFS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
Ext2FS AK: Deprecate the old AK::Stream 2023-01-29 19:16:44 -07:00
FATFS Kernel: Fix uninitialized member variable in FATFS Filesystem 2023-01-16 09:45:46 +01:00
ISO9660FS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
Plan9FS Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ProcFS Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
RAMFS Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
SysFS Kernel/PCI: Expose PCI option ROM data from the sysfs interface 2023-01-26 23:04:26 +01:00
AnonymousFile.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
AnonymousFile.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02: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: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
DeviceFileTypes.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
FIFO.cpp Kernel: Add support for MSG_NOSIGNAL and properly send SIGPIPE 2022-10-24 15:49:39 +02:00
FIFO.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
File.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
File.h Kernel: Add File::is_regular_file() 2022-11-29 11:09:19 +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: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04: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: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Inode.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
InodeFile.cpp Kernel+Userland: Move LibC/sys/ioctl_numbers to Kernel/API/Ioctl.h 2023-01-21 10:43:59 -07:00
InodeFile.h Kernel: Add File::is_regular_file() 2022-11-29 11:09:19 +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 Kernel: Use real UID/GID when checking for file access 2022-12-11 19:55:37 -07:00
InodeWatcher.cpp Everywhere: Remove unused includes of AK/Memory.h 2023-01-02 20:27:20 -05:00
InodeWatcher.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
Mount.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Mount.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
OpenFileDescription.cpp AK: Deprecate the old AK::Stream 2023-01-29 19:16:44 -07:00
OpenFileDescription.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05: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: Allow to remove files from sticky directory if user owns it 2023-01-24 20:13:30 +00:00
VirtualFileSystem.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00