summaryrefslogtreecommitdiff
path: root/fs.c
AgeCommit message (Collapse)Author
2019-06-11separate source into kernel/ user/ mkfs/Robert Morris
2019-06-06fix a create()/unlink() deadlockRobert Morris
2019-06-04timer interrupts -> supervisor software interruptRobert Morris
2019-06-04support read() and write() bigger than one pageRobert Morris
2019-06-01first shell prints $ prompt, though no console input yetRobert Morris
2019-05-31-initrd fs.img, ramdisk.c, file systemRobert Morris
2017-08-29fix runoff complaints about pagination and long linesRobert Morris
2017-08-09nothing muchRobert Morris
2017-08-09comment fixesRobert Morris
2017-08-08fix iput() to more obviously avoid deadlockRobert Morris
2017-08-08a little more lock documentationRobert Morris
2017-08-08protect ip->valid and ip->nlink with sleep lock in iput()Robert Morris
2017-08-08change ip->flags&I_VALID to ip->validRobert Morris
2017-08-08Merge branch 'master' of g.csail.mit.edu:xv6-devRobert Morris
2017-08-08frans' fixes to iput()Robert Morris
2017-08-08fs comment nitsRobert Morris
2017-08-07Remove some debugging statementsFrans Kaashoek
2017-08-07Merge branch 'nogs'Frans Kaashoek
2017-04-26Fix typo in dirlookupGrant Wu
2017-01-31Start of an experiment to remove the use of gs for cpu local variables.Frans Kaashoek
2016-09-11Replace I_BUSY with sleep locksFrans Kaashoek
2016-09-11Straight replacement of B_BUSY with a sleeping lock.Frans Kaashoek
2016-09-02Fix a few lines that runoff is complaining about that they are too longFrans Kaashoek
2016-08-25Remove trailing white space with:Frans Kaashoek
for f in *.{h,c}; do sed -i .sed 's/[[:blank:]]*$//' $f; done (Thanks to Nicolás Wolovick)
2015-06-27Pick up where i left off in april:Frans Kaashoek
- move log into metadata part of disk, so that marking that the log's blocks are in use falls out for free - superblock describes the whole disk (sizes and offets) - sizes and offsets are computed in one place (mkfs) and the rest of the code refers to the superblock for these values, instead of recomputing them.
2015-04-03Disentangle block size from the disk's sector size. Set block size to 1024 ↵Frans Kaashoek
to show that they can be different. Clean up mkfs, simplifying specifying fs parameters, remove some redundancy between fs and mkfs, and fix disk layout bugs. Call blocks in the file system blocks instead of sectors. Passes usertests for different block sizes.
2014-08-28xxRobert Morris
2014-08-27commentsRobert Morris
2014-08-04every iput() and namei() must be inside a transactionRobert Morris
2011-10-11more FS comment clarificationRobert Morris
2011-10-11clarify some FS commentsRobert Morris
2011-08-29Revert "Introduce and use sleeplocks instead of BUSY flags"Frans Kaashoek
My changes have a race with re-used bufs and the code doesn't seem to get shorter Keep the changes that fixed ip->off race This reverts commit 3a5fa7ed9020eaf8ab843a16d26db7393b2ec072. Conflicts: defs.h file.c file.h
2011-08-26Introduce and use sleeplocks instead of BUSY flagsFrans Kaashoek
Remove I_BUSY, B_BUSY, and intrans defs and usages One spinlock per buf to avoid ugly loop in bget fix race in filewrite (don't update f->off after releasing lock)
2011-08-19make dirlookup and dirlink more similarRobert Morris
2011-08-15avoid deadlock by calling begin_trans() before locking any inodesRobert Morris
2011-08-12log write() dataRobert Morris
usertest for big write()s push begin_trans/commit_trans down into syscalls
2011-07-27Dirt simple loggingFrans Kaashoek
Passes usertests and stressfs Seems to recover correctly in a number of simple cases
2011-06-24do not run past the end of the disk!Nickolai Zeldovich
[ cherry-picked de6075ff0978108daea1d658425bcb37663a98a0 ] Conflicts: fs.c
2009-10-24Comment typoAustin Clements
2009-08-30assorted fixes:Russ Cox
* rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printout
2009-08-08shuffle and tweak for formatting.Russ Cox
pdf has very good page breaks now. would be a good copy for fall 2009.
2009-07-11rearrangements and cleanup for textRuss Cox
2009-05-31group locks into structs they protect.rsc
few naming nits.
2009-05-31fix bug fixrsc
2009-05-31tidy fs.c; bmap callers always expected allocationrsc
2009-05-31inode reuse bug.rsc
Suppose an inode has been used and freed. It is left marked I_VALID (the bug). Now ialloc comes along and reuses the inode. It writes the new inode type to disk and returns iget(dev, inum) to get the cache entry. Iget sees that the inode is valid and doesn't bother refreshing from disk. Now when the caller iupdates, it will write out a zero type and the file or directory has disappeared.
2009-05-31drop NADDRS and INDIRECT; too many namesrsc
2008-10-20Explain why itrunc() is OK w.r.t. crashes.rtm
2008-10-16free the indirect blockkolya
2008-10-08be clear what the root i-number isrtm