serenity/Kernel/FileSystem
Liav A ee4e9b807a Kernel: Protect internal structures in InodeWatcher with spinlocks
This was the last change that was needed to be able boot with the flag
of LOCK_IN_CRITICAL_DEBUG. That flag is not always enabled because there
are still other issues in which we hold a spinlock and still try to lock
a mutex.

Instead of using one global mutex we can protect internal structures of
the InodeWatcher class with SpinlockProtected wrappers. This in turn
allows the InodeWatcher code to be called from other parts in the kernel
while holding a prior spinlock properly.
2023-04-22 07:16:41 +02:00
..
DevPtsFS Kernel: Stop using *LockRefPtr for FileSystem pointers 2023-04-04 10:33:42 +02:00
Ext2FS Kernel: Stop using *LockRefPtr for FileSystem pointers 2023-04-04 10:33:42 +02:00
FATFS Kernel: Stop using *LockRefPtr for FileSystem pointers 2023-04-04 10:33:42 +02:00
ISO9660FS Kernel: Stop using *LockRefPtr for FileSystem pointers 2023-04-04 10:33:42 +02:00
Plan9FS Kernel: Stop using *LockRefPtr for Thread 2023-04-04 10:33:42 +02:00
ProcFS Kernel: Stop using *LockRefPtr for Process pointers 2023-04-04 10:33:42 +02:00
RAMFS Kernel: Stop using *LockRefPtr for FileSystem pointers 2023-04-04 10:33:42 +02:00
SysFS Kernel+Userland: Remove the nfds entry from /sys/kernel/processes 2023-04-21 13:55:23 +02:00
AnonymousFile.cpp
AnonymousFile.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
BlockBasedFileSystem.cpp Kernel: Initialize DiskCache's buffer before the dirty&clean lists 2023-04-02 12:43:17 -06:00
BlockBasedFileSystem.h
Custody.cpp
Custody.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
DeviceFileTypes.h
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
File.h
FileBackedFileSystem.cpp
FileBackedFileSystem.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
FileSystem.cpp
FileSystem.h
Inode.cpp Kernel: Remove unused functions related to reading full inodes 2023-04-17 01:20:23 +02:00
Inode.h Kernel: Remove unused functions related to reading full inodes 2023-04-17 01:20:23 +02:00
InodeFile.cpp Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
InodeFile.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
InodeIdentifier.h
InodeMetadata.cpp
InodeMetadata.h
InodeWatcher.cpp Kernel: Protect internal structures in InodeWatcher with spinlocks 2023-04-22 07:16:41 +02:00
InodeWatcher.h Kernel: Protect internal structures in InodeWatcher with spinlocks 2023-04-22 07:16:41 +02:00
Mount.cpp Kernel: Simplify Mount internals 2023-04-04 10:33:42 +02:00
Mount.h Kernel: Simplify Mount internals 2023-04-04 10:33:42 +02:00
OpenFileDescription.cpp Kernel: Remove unused functions related to reading full inodes 2023-04-17 01:20:23 +02:00
OpenFileDescription.h Kernel: Remove unused functions related to reading full inodes 2023-04-17 01:20:23 +02:00
UnveilNode.h
VirtualFileSystem.cpp Kernel: Add the futimens syscall 2023-04-10 10:21:28 +02:00
VirtualFileSystem.h Kernel: Add the futimens syscall 2023-04-10 10:21:28 +02:00