Commit Graph

18 Commits

Author SHA1 Message Date
354ffd033c
VFS: Add a size() method to inodes to implement seeking to the end of a file
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-12 14:49:21 +01:00
b54a7f3a80
kernel+libc: Add O_* flags and parse them in open()
All checks were successful
continuous-integration/drone/push Build is passing
O_RDONLY, O_WRONLY, O_RDWR, O_TRUNC, O_CREAT and O_EXCL are fully implemented.

O_APPEND is partially implemented.

Other flags are not here yet.
2023-03-12 14:43:58 +01:00
ac304073b4
tmpfs: Disallow creating files/folders with already used names 2023-03-11 10:14:42 +01:00
e5a41d2d52
tmpfs: Implement FileInode read() and write() 2023-03-11 00:52:39 +01:00
6fbf97292a
VFS: Implement resolve_path() using PathParser
All checks were successful
continuous-integration/drone/push Build is passing
Already works better than old luna (handles .. correctly)
2023-03-10 22:18:48 +01:00
ff770b7328
VFS+TmpFS: Add support for creating subdirectories (mkdir)
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-10 21:09:08 +01:00
abdd460525
tmpfs: use adopt_shared_if_nonnull instead of plain adopt_shared in FileSystem::create() 2023-03-07 22:16:52 +01:00
65dd3cd7fb
TmpFS: Use StaticString<128> instead of char[128] 2023-02-27 15:22:39 +01:00
8ba571a30e
TmpFS: Use a fixed char array in DirInode's Entry instead of OwnedStringView 2023-02-27 15:22:39 +01:00
01b6294f76
kernel: Implement creating file inodes in tmpfs directories 2023-02-27 15:22:38 +01:00
a65f4311aa
tmpfs: make the root inode a DirInode instead of a FileInode 2023-02-27 15:22:38 +01:00
dd2f31d8d0
tmpfs: add DirInode skeleton 2023-02-27 15:22:38 +01:00
5fb292bc0e
tmpfs: rename tmpfs::Inode to tmpfs::FileInode 2023-02-27 15:22:37 +01:00
d3bda46325
tmpfs: Make m_next_inode_number atomic 2023-02-27 15:22:37 +01:00
ba9d725481
kernel: Rename FileSystem::root() to root_inode() and add a shortcut for the root filesystem's root inode 2023-02-27 15:22:37 +01:00
3a2b8bcfd7
kernel: Make a factory function for filesystem creation of inodes, and add inode numbers
Now every filesystem must provide fs->create_file_inode() for new inodes :)
2023-02-27 15:22:37 +01:00
a49555addc
kernel: Add a subclass of VFS::Inode to make it easier to implement file inodes 2023-02-27 15:22:36 +01:00
c422d11682
kernel: Start working on a VFS implementation using OOP and SharedPtr 2023-02-27 15:22:24 +01:00