summaryrefslogtreecommitdiff
path: root/kernel/fs.c
AgeCommit message (Collapse)AuthorFilesLines
2024-02-17lab fs/bigfile: finishMole Shang1-5/+58
2023-10-30lock: release labSanjit Bhat1-5/+4
2022-08-24sfence before writing satp, as well as afterRobert Morris1-1/+1
2022-08-23tolerate running out of inodesRobert Morris1-2/+4
2022-08-23don't panic if out of disk space when extending a directory.Robert Morris1-1/+2
2022-08-10tolerate running out of disk blocksRobert Morris1-11/+31
2022-08-10comment nitsRobert Morris1-2/+2
2022-08-09nothing muchRobert Morris1-2/+2
2020-11-23Rename icache to itableFrans Kaashoek1-25/+25
The inode cache isn't really a cache. The main purpose of it is to allow for synchronization (locking individual inodes), providing long-lived references to inodes, and ensuring that there is only inode in memory.
2020-11-05hopefully make writei more correctRobert Morris1-10/+11
2020-10-03When either_copyin/out fails, return an error from write/readFrans Kaashoek1-0/+2
Add a test to check that read/write return an error
2020-08-10streamline copyin/copyout code in usertestsRobert Morris1-1/+1
fix bugs in read/write return values when there's an error
2020-08-10make "echo hello > x" truncate file x.Robert Morris1-7/+3
2019-09-20don't leak a file system block if the buf argument to write is invalidRobert Morris1-2/+7
and a usertest
2019-08-20Also release buffer on failed copyoutFrans Kaashoek1-1/+3
2019-08-20Release buffer also when copyin failsFrans Kaashoek1-1/+3
2019-08-19Merge remote-tracking branch 'origin/master' into riscvFrans Kaashoek1-1/+0
2019-08-18Cosmetic cleanup: fsinit reads sb and calls loginit. initialize icacheFrans Kaashoek1-6/+11
in main.c and don't make it disk specific; the icache is shared. This doesn't matter since we have only one disk, but conceptually cleaner and maybe helpful to students for mount lab.
2019-07-24no more PAGEBREAKRobert Morris1-6/+0
2019-07-02Checkpoint switching to per-process locks, in attempt clarify xv6'sFrans Kaashoek1-1/+1
locking plan, which is a difficult to understand because ptable lock protects many invariants. This implementation has a bug: once in a while xv6 unlocks a proc lock that is locked by another core.
2019-06-13FD_DEVICERobert Morris1-13/+0
2019-06-11separate source into kernel/ user/ mkfs/Robert Morris1-0/+681