summaryrefslogtreecommitdiff
path: root/src/kernel/vfs/request.c
AgeCommit message (Collapse)Author
2022-05-05kernel: syscalls now have to explicitly save the return valuedzwdz
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-05kernel/proc: remove WAITS4IRQdzwdz
2022-05-05kernel/vfs: refactor vfs_backend to allow multiple kernel backendsdzwdz
2022-05-05kernel/vfs: rename the vfsreq funcs, merge vfsreq_finish & vfsreq_canceldzwdz
2022-05-04kernel/proc: leave the vfs_request when killing a WAITS4FS procdzwdz
...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-04kernel: refcount vfs_backenddzwdz
what a mess
2022-05-02kernel/vfs: always separately allocate the request objectdzwdz
2022-05-02kernel/vfs: pass `close()` calls to fs handlersdzwdz
2022-05-01kernel/proc: make handles separate refcounted objectsdzwdz
2022-04-21kernel: recursive kill()dzwdz
2022-04-16kernel/vfs: store the queue in `vfs_request` itselfdzwdz
2022-04-16kernel/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-16kernel/vfs: be more strict about the state of `vfs_backend.handler`dzwdz
2022-04-15kernel/vfs: don't hang on orphaned vfs callsdzwdz
2022-04-14kernel/proc: only change state through `process_transition`dzwdz
2022-04-14kernel: slightly clean up `vfs/request.c`dzwdz
2022-04-10kernel: idle processdzwdz
2022-04-09kernel/vfs: prevent the vfs functions from switching processesdzwdz
2022-04-09kernel: `vfs_request_accept` now doesn't switch processesdzwdz
2022-04-07kernel/vfs: fix panic when using an user fs which hadn't yet wait()eddzwdz
2022-04-07kernel/vfs: implement a vfs request queuedzwdz
2021-11-20kernel: fs_wait returns a success val; the op type is put in the structdzwdz
2021-11-16kernel/vfs: add a capacity field to fs_wait_responsedzwdz
2021-09-21implement (safe) min/max macrosdzwdz
2021-09-20create a few specialized panic()sdzwdz
thanks to this i can tell which ones are placeholders, and which ones should stay
2021-09-20add an offset parameter to read() and write()dzwdz
2021-09-20remove some unused variablesdzwdz
2021-09-20use a single struct for all fs_wait return valuesdzwdz
2021-09-19show the malloc balance on halt; remove a bad kfree() calldzwdz
the kfree() call was freeing a buffer which was inside a process struct
2021-09-18implement NULL mountsdzwdz
2021-09-16implement output from vfs callsdzwdz
2021-09-15fs_wait: pass the file ID toodzwdz
2021-09-12fix typo; use the right union elementdzwdz
the values are the same, it only caused a warning in sparse
2021-09-12first working access function!dzwdz
2021-09-12allow vfs_request_finish to returndzwdz
thanks to this, the fs provider can continue executing until the next fs_wait() call. that should speed things up a bit
2021-09-12implement part of `fs_respond`dzwdz
2021-09-12implement most of fs_waitdzwdz
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-12vfs_request refactor pt2dzwdz
2021-09-12vfs request refactor pt1dzwdz