serenity/Kernel
Sergey Bugaev df66c28479 Kernel: Deemphasize inode identifiers
These APIs were clearly modeled after Ext2FS internals, and make perfect sense
in Ext2FS context. The new APIs are more generic, and map better to the
semantics exported to the userspace, where inode identifiers only appear in
stat() and readdir() output, but never in any input.

This will also hopefully reduce the potential for races (see commit c44b4d61f3).

Lastly, this makes it way more viable to implement a filesystem that only
synthesizes its inodes lazily when queried, and destroys them when they are no
longer in use. With inode identifiers being used to reference inodes, the only
choice for such a filesystem is to persist any inode it has given out the
identifier for, because it might be queried at any later time. With direct
references to inodes, the filesystem will know when the last reference is
dropped and the inode can be safely destroyed.
2020-06-25 15:49:04 +02:00
..
ACPI Kernel: Remove DMI decoder from the kernel 2020-06-20 18:39:46 +02:00
Arch Meta: Scale back overly informal user-facing strings 2020-06-17 18:35:49 +02:00
Devices Kernel: Replace char and u8 data types to u32 for code point 2020-06-16 13:15:17 +02:00
FileSystem Kernel: Deemphasize inode identifiers 2020-06-25 15:49:04 +02:00
Heap Meta: Scale back overly informal user-facing strings 2020-06-17 18:35:49 +02:00
Interrupts Kernel: Detect APs and boot them into protected mode 2020-06-04 18:15:23 +02:00
Modules Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Net Kernel: Minor cleanups in sendfd/recvfd 2020-06-25 10:58:37 +02:00
PCI Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
Tasks Kernel: Move sync and finalization tasks into their own files 2020-04-08 17:19:46 +02:00
Time Kernel: Use map_typed() in HPET code and add a register access helper 2020-06-21 00:58:55 +02:00
TTY Kernel: TTY:VirtualConsole, replace character attribute with code_point 2020-06-16 13:15:17 +02:00
VM Kernel: Add mechanism to identity map the lowest 2MB 2020-06-04 18:15:23 +02:00
.bochsrc Meta: Make Serenity run on Bochs once again 2019-08-06 21:09:24 +02:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h AK+LibC: Add TODO() as an alternative to ASSERT_NOT_REACHED() 2020-05-30 11:31:49 +02:00
CMakeLists.txt Kernel: Remove DMI decoder from the kernel 2020-06-20 18:39:46 +02:00
CMOS.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Kernel: Remove CommandLine::get() in favor of lookup() 2020-04-18 14:22:42 +02:00
CommandLine.h Kernel: Remove CommandLine::get() in favor of lookup() 2020-04-18 14:22:42 +02:00
Console.cpp Kernel: Port VirtualConsole to LibVT :^) 2020-05-27 11:19:38 +02:00
Console.h Kernel: Port VirtualConsole to LibVT :^) 2020-05-27 11:19:38 +02:00
DoubleBuffer.cpp AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
DoubleBuffer.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
FB.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Forward.h Kernel: Add convenient ways to map whole BIOS and EBDA into memory 2020-05-22 13:17:38 +02:00
init.cpp Kernel: Remove DMI decoder from the kernel 2020-06-20 18:39:46 +02:00
IO.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
KBuffer.h AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
KBufferBuilder.cpp Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
KBufferBuilder.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KeyCode.h Kernel: Replace char and u8 data types to u32 for code point 2020-06-16 13:15:17 +02:00
kprintf.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
KResult.h Kernel: Always inline some KResult / KResultOr<> methods 2020-06-02 21:49:47 +02:00
kstdio.h Kernel: Remove awkward "#define printf dbgprintf" 2020-05-16 12:03:25 +02:00
KSyms.cpp Kernel: Plumb KResult through FileDescription::read_entire_file() implementation. 2020-05-26 10:15:40 +02:00
KSyms.h Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
linker.ld Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Lock.cpp Kernel: Add timeout support to Thread::wait_on 2020-04-26 21:31:52 +02:00
Lock.h AK: Add ALWAYS_INLINE, NEVER_INLINE and FLATTEN macros 2020-04-30 11:43:25 +02:00
mkmap.sh Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
MousePacket.h Kernel: Detect 5-button PS/2 mouse if present :^) 2020-05-02 22:06:17 +02:00
Multiboot.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
PerformanceEventBuffer.cpp Kernel: Include the current instruction pointer in profile samples 2020-04-11 21:04:45 +02:00
PerformanceEventBuffer.h AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
PhysicalAddress.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
Process.cpp Kernel+LibC: Add sys$recvfd() and sys$sendfd() for fd passing 2020-06-24 23:08:09 +02:00
Process.h Kernel+LibC: Add sys$recvfd() and sys$sendfd() for fd passing 2020-06-24 23:08:09 +02:00
Profiling.cpp LibELF: Move ELF classes into namespace ELF 2020-04-11 22:41:05 +02:00
Profiling.h Kernel: Bump the max stack frame count in sample profiles to 50 2020-04-12 11:00:38 +02:00
Ptrace.cpp Kernel: Add missing copyright header to Ptrace.cpp 2020-05-09 23:45:16 +02:00
Ptrace.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
Random.cpp Kernel: Fix invalid jump in case RDRAND fails 2020-05-20 19:54:56 +02:00
Random.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
RTC.cpp Kernel: Fix awkward RTC log message at boot 2020-04-08 17:19:46 +02:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Scheduler.cpp Kernel: Silence some debug spam in Scheduler 2020-06-22 21:18:16 +02:00
Scheduler.h Kernel: Remove the "kernel info page" used for fast gettimeofday() 2020-05-16 11:33:59 +02:00
SharedBuffer.cpp Kernel: Don't remove shbuf permission-to-reattach when releasing 2020-06-17 18:43:50 +02:00
SharedBuffer.h Kernel: Tidy up SharedBuffer interface 2020-05-16 09:44:00 +02:00
StdLib.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
StdLib.h Kernel: Dont't static_assert that size_t is 32-bit :^) 2020-05-23 15:25:43 +02:00
Syscall.cpp Kernel: Add 'ptrace' syscall 2020-03-28 18:27:18 +01:00
Syscall.h Kernel+LibC: Add sys$recvfd() and sys$sendfd() for fd passing 2020-06-24 23:08:09 +02:00
Thread.cpp AK+Kernel: Help the compiler inline a bunch of trivial methods 2020-05-20 14:11:13 +02:00
Thread.h LibC: Implement pselect 2020-06-22 16:00:20 +02:00
ThreadTracer.cpp ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
ThreadTracer.h Debugger: Add DebugSession 2020-04-13 00:53:22 +02:00
TimerQueue.cpp Kernel: Update TimerQueue next due timer only when necessary 2020-04-27 11:24:21 +02:00
TimerQueue.h Kernel: Expose timers via a TimerId type 2020-04-27 11:14:41 +02:00
UnixTypes.h Kernel: Use symbolic constants for file modes 2020-06-17 15:02:03 +02:00
VirtualAddress.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
WaitQueue.cpp Kernel: Implement FUTEX_WAKE of arbitrary count. 2020-04-26 12:35:35 +02:00
WaitQueue.h Kernel: Implement FUTEX_WAKE of arbitrary count. 2020-04-26 12:35:35 +02:00