Ashwin Naren
edca499714
distinguish between file permissions and file mode
2026-03-02 11:53:06 -08:00
Ashwin Naren
bd5235fc71
fix rename semantics
2026-02-26 23:14:31 -08:00
Ashwin Naren
2ecfda3cb9
fix unneeded inode cloning
2026-02-26 23:14:31 -08:00
Ashwin Naren
93e540bc5c
support symlink creation
2026-02-26 23:14:31 -08:00
Ashwin Naren
f354fa7eaf
implement rename_from
2026-02-26 23:14:31 -08:00
Ashwin Naren
1d5fb030b4
support directory creation
2026-02-26 23:14:31 -08:00
Ashwin Naren
c77ea09264
support file writing beyond block boundaries
2026-02-26 23:14:31 -08:00
Ashwin Naren
d21c449b5c
support file creation
2026-02-26 23:14:31 -08:00
Ashwin Naren
28e3f4ab02
support linking and unlinking
2026-02-26 23:14:31 -08:00
Matthew Leach
ba0ff25b20
Merge pull request #203 from arihant2math/statfs
...
Implement `sys_statfs` and `sys_fstatfs`
2026-02-15 20:05:13 +00:00
Matthew Leach
d85fe47374
Merge pull request #209 from arihant2math/update-ext4
...
Update ext4-view fork
2026-02-15 19:52:07 +00:00
Ashwin Naren
6aebef2168
enable clippy lints for libkernel
2026-02-13 10:24:13 -08:00
Ashwin Naren
901a2b3303
update ext4-view fork
2026-02-12 14:18:39 -08:00
Ashwin Naren
f1c0cba3b8
statfs
2026-02-09 16:59:15 -08:00
Ashwin Naren
ef10631dc4
Merge pull request #195 from hexagonal-sun/slab-allocator
...
slab allocator
2026-02-08 16:51:29 -08:00
Ashwin Naren
4c69c969e2
report and edit nlinks
2026-02-07 16:37:41 -08:00
Matthew Leach
c0ecac05f3
libkernel: memory: PageAllocGetter: return ref to allocator
...
Rather than returning a reference to the `OnceCell` wrapping the
allocator, return a static reference to the allocator itself. This
allows flexibility for how the allocator is wrapped.
2026-02-07 08:26:35 +00:00
Matthew Leach
972f023edc
libkernel: memory: reorganise allocators
...
Create a new submodule within `memory`, `allocators` which contains all
memory allocators. Also split out the `Frame` struct from the `pg_alloc`
module, allowing it to be used by other modules.
2026-02-07 08:26:35 +00:00
Ashwin Naren
aa5a9c7b79
fix typos
2026-01-23 01:26:04 -08:00
Ashwin Naren
8df12a027c
implement truncation
2026-01-18 01:17:19 -08:00
Ashwin Naren
3e60a57d67
implement xattr syscalls
2026-01-14 10:51:48 -08:00
Ashwin Naren
ff13b392f1
some support for ext4 writing
2026-01-13 16:47:51 -08:00
Ashwin Naren
15c70a1aea
ext4 timestamps
2026-01-10 10:11:52 -08:00
Matthew Leach
bb8b3fec29
libkernel: ext4: add inode id to metadata
...
Add the proper inode and fs id to the `FileAttr` struct returned by
`getattr`. This prevents the dynamic loader from skipping files which it
considers to be hard-links (share the same inode ID).
2026-01-06 08:52:52 -08:00
Ashwin Naren
477215e641
optimize lookup
2026-01-02 17:01:02 -08:00
Ashwin Naren
8677d7a404
support readlink
2026-01-02 17:01:02 -08:00
Ashwin Naren
9d8379c311
fix readdir
2026-01-02 17:01:02 -08:00
Ashwin Naren
d14d2ff355
add note about lookup being suboptimal
2026-01-02 17:01:02 -08:00
Ashwin Naren
dcd74e4e73
optimize read_at
2026-01-02 17:01:02 -08:00
Ashwin Naren
b5138c30f9
working ext4
2026-01-02 17:01:02 -08:00
ootinnyoo
d2723b716c
implement sys_statx
2025-12-28 10:41:15 -08:00
ootinnyoo
e31d1a05e8
move emptiness check to fs
2025-12-26 16:52:08 -08:00
ootinnyoo
aa29951c2d
implement sys_renameat and sys_renameat2
2025-12-26 16:52:08 -08:00
ootinnyoo
70e81b39f4
add support for symlinks
2025-12-25 00:46:40 -08:00
someone
2a1bb1cdde
implement hardlinking ( #88 )
2025-12-24 09:43:12 -08:00
someone
3aef9a4e15
add chown/chmod ( #84 )
2025-12-23 15:19:25 -08:00
Ashwin Naren
781b9b5c3f
implement mkdir and unlink
...
rm, mkdir and rmdir now work in tmpfs
2025-12-18 15:35:09 +00:00
Matthew Leach
9db6162414
formatting
2025-12-17 20:04:31 -08:00
Matthew Leach
c1bea5ecbb
tmpfs: new
...
Add basic directory inode implementation and tmpfs filesystem
implementation.
2025-12-17 20:04:31 -08:00
Matthew Leach
b8edd4af68
fat32: downcase 8.3 filenames
...
Using mtools to prepare the initrd image results in an image that
exclusively uses 8.3 filenames; as per the spec, the 8.3 filenames are
stored uppercase. However, on most UNIX systems, people are used to
dealing with down-case names; therefore convert the strings to
lower-case before passing back to the user.
2025-12-14 06:38:42 +00:00
Ashwin Naren
504f7f01dc
fix failing tests
2025-11-28 12:08:06 +00:00
Ashwin Naren
0c749d7ce8
Parse fat dates
2025-11-28 12:08:06 +00:00
Matthew Leach
606500ba8b
libkernel: fs: fat32: make lookups case-insensitive
...
Fat32 is a case-insensitive filesystem, therefore when looking up a path
in a directory entry, convert all strings to lowercase before
comparison.
2025-11-24 21:25:51 +00:00
Matthew Leach
ca6fdd0da5
Initial Commit
...
Initial commit of arm64 bring-up code, kernel core (libkernel) and build
infrastructure.
2025-11-16 20:15:01 +00:00