Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-07-08 | syscall/fs_respond: get the file id from the buf argument | dzwdz | |
Previously, file ids could only be positive integers, so their range was 31 bits - not enough to represent the entire memory. Now, pointers can be safely used as file ids. | |||
2022-07-07 | kernel: add the vfsreq_finish_short shorthand function | dzwdz | |
2022-07-07 | kernel/vfs: delegate support in _syscall_fs_respond! | dzwdz | |
this is big in terms of speed, it avoids a lot of unnecessary context switches | |||
2022-06-29 | kernel/vfs: add the OPEN_CREATE flag | dzwdz | |
2022-05-06 | kernel: remove the union in `struct handle` | dzwdz | |
2022-05-06 | kernel/proc: reorganize the functions | dzwdz | |
2022-05-05 | kernel: move fsroot to kernel/arch/i386 | dzwdz | |
2022-05-05 | kernel: each driver registers its own mounts | dzwdz | |
2022-05-05 | kernel: syscalls now have to explicitly save the return value | dzwdz | |
thus they can opt out of doing that so the calls which might return immediately but can return later don't have to both regs_savereturn and return to the caller. and because of that, the return values of a lot of VFS things have just got way saner | |||
2022-05-05 | kernel/proc: remove WAITS4IRQ | dzwdz | |
2022-05-05 | kernel/vfs: refactor vfs_backend to allow multiple kernel backends | dzwdz | |
2022-05-05 | kernel/vfs: rename the vfsreq funcs, merge vfsreq_finish & vfsreq_cancel | dzwdz | |
2022-05-04 | kernel/proc: leave the vfs_request when killing a WAITS4FS proc | dzwdz | |
...instead of letting the hwole process stay around. This could end up a bit more complex, I have no idea how to test killing processes during vfs requests. The upside of this is that I can remove all the deathbed/deadparent weirdness now. | |||
2022-05-04 | kernel: refcount vfs_backend | dzwdz | |
what a mess | |||
2022-05-02 | kernel/vfs: always separately allocate the request object | dzwdz | |
2022-05-02 | kernel/vfs: pass `close()` calls to fs handlers | dzwdz | |
2022-05-01 | kernel/proc: make handles separate refcounted objects | dzwdz | |
2022-04-21 | kernel: recursive kill() | dzwdz | |
2022-04-16 | kernel/vfs: store the queue in `vfs_request` itself | dzwdz | |
2022-04-16 | kernel/vfs: refactor `vfs_request_accept` into `vfs_backend_accept` | dzwdz | |
handling the backend queue makes more sense here than in the syscall implementation. it's also just overall cleaner | |||
2022-04-16 | kernel/vfs: be more strict about the state of `vfs_backend.handler` | dzwdz | |
2022-04-15 | kernel/vfs: don't hang on orphaned vfs calls | dzwdz | |
2022-04-14 | kernel/proc: only change state through `process_transition` | dzwdz | |
2022-04-14 | kernel: slightly clean up `vfs/request.c` | dzwdz | |
2022-04-10 | kernel: idle process | dzwdz | |
2022-04-09 | kernel/vfs: prevent the vfs functions from switching processes | dzwdz | |
2022-04-09 | kernel: `vfs_request_accept` now doesn't switch processes | dzwdz | |
2022-04-07 | kernel/vfs: fix panic when using an user fs which hadn't yet wait()ed | dzwdz | |
2022-04-07 | kernel/vfs: implement a vfs request queue | dzwdz | |
2021-11-20 | kernel: fs_wait returns a success val; the op type is put in the struct | dzwdz | |
2021-11-16 | kernel/vfs: add a capacity field to fs_wait_response | dzwdz | |
2021-09-21 | implement (safe) min/max macros | dzwdz | |
2021-09-20 | create a few specialized panic()s | dzwdz | |
thanks to this i can tell which ones are placeholders, and which ones should stay | |||
2021-09-20 | add an offset parameter to read() and write() | dzwdz | |
2021-09-20 | remove some unused variables | dzwdz | |
2021-09-20 | use a single struct for all fs_wait return values | dzwdz | |
2021-09-19 | show the malloc balance on halt; remove a bad kfree() call | dzwdz | |
the kfree() call was freeing a buffer which was inside a process struct | |||
2021-09-18 | implement NULL mounts | dzwdz | |
2021-09-16 | implement output from vfs calls | dzwdz | |
2021-09-15 | fs_wait: pass the file ID too | dzwdz | |
2021-09-12 | fix typo; use the right union element | dzwdz | |
the values are the same, it only caused a warning in sparse | |||
2021-09-12 | first working access function! | dzwdz | |
2021-09-12 | allow vfs_request_finish to return | dzwdz | |
thanks to this, the fs provider can continue executing until the next fs_wait() call. that should speed things up a bit | |||
2021-09-12 | implement part of `fs_respond` | dzwdz | |
2021-09-12 | implement most of fs_wait | dzwdz | |
awaited_req is a garbage name but i couldn't come up with a better one. i also have no idea how to handle all the failure states | |||
2021-09-12 | vfs_request refactor pt2 | dzwdz | |
2021-09-12 | vfs request refactor pt1 | dzwdz | |