serenity/Kernel/FileSystem
Liav A c88cc8557f Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual
We make these methods non-virtual because we want to ensure we properly
enforce locking of the m_inode_lock mutex. Also, for write operations,
we want to call prepare_to_write_data before the actual write. The
previous design required us to ensure the callers do that at various
places which lead to hard-to-find bugs. By moving everything to a place
where we call prepare_to_write_data only once, we eliminate a possibilty
of forgeting to call it on some code path in the kernel.
2022-09-16 14:55:45 +03:00
..
SysFS Kernel: Update atime/ctime/mtime timestamps atomically 2022-08-22 17:56:03 +02: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: Annotate all KBuffer and DoubleBuffer with a custom name 2022-07-12 00:55:31 +01:00
BlockBasedFileSystem.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
Custody.cpp Kernel: Use RefPtr instead of LockRefPtr for Custody 2022-08-21 12:25:14 +02:00
Custody.h Kernel: Use RefPtr instead of LockRefPtr for Custody 2022-08-21 12:25:14 +02:00
DeviceFileTypes.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
DevPtsFS.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
DevPtsFS.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
DevTmpFS.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
DevTmpFS.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
ext2_fs.h Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
ext2_types.h
Ext2FileSystem.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
Ext2FileSystem.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
FIFO.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +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: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
FileBackedFileSystem.cpp Kernel: Use default constructors/destructors 2022-03-17 00:51:36 -07:00
FileBackedFileSystem.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
FileSystem.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
FileSystem.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
Inode.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
Inode.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
InodeFile.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
InodeFile.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
InodeIdentifier.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
InodeMetadata.cpp Kernel: Make VirtualFileSystem functions take credentials as input 2022-08-21 16:02:24 +02:00
InodeMetadata.h Kernel: Make VirtualFileSystem functions take credentials as input 2022-08-21 16:02:24 +02:00
InodeWatcher.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
InodeWatcher.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
ISO9660FileSystem.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
ISO9660FileSystem.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
Mount.cpp Kernel: Use RefPtr instead of LockRefPtr for Custody 2022-08-21 12:25:14 +02:00
Mount.h Kernel: Use RefPtr instead of LockRefPtr for Custody 2022-08-21 12:25:14 +02:00
OpenFileDescription.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
OpenFileDescription.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
Plan9FileSystem.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
Plan9FileSystem.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
ProcFS.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
ProcFS.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
SysFS.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
SysFS.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
TmpFS.cpp Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
TmpFS.h Kernel/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03: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/FileSystem: Make Inode::{write,read}_bytes methods non-virtual 2022-09-16 14:55:45 +03:00
VirtualFileSystem.h Kernel: Make VirtualFileSystem functions take credentials as input 2022-08-21 16:02:24 +02:00