summaryrefslogtreecommitdiff
path: root/fs.c
AgeCommit message (Collapse)AuthorFilesLines
2019-06-01first shell prints $ prompt, though no console input yetRobert Morris1-1/+2
2019-05-31-initrd fs.img, ramdisk.c, file systemRobert Morris1-2/+2
2017-08-29fix runoff complaints about pagination and long linesRobert Morris1-2/+2
2017-08-09nothing muchRobert Morris1-1/+1
2017-08-09comment fixesRobert Morris1-6/+9
2017-08-08fix iput() to more obviously avoid deadlockRobert Morris1-7/+9
2017-08-08a little more lock documentationRobert Morris1-0/+13
2017-08-08protect ip->valid and ip->nlink with sleep lock in iput()Robert Morris1-8/+10
2017-08-08change ip->flags&I_VALID to ip->validRobert Morris1-10/+10
2017-08-08Merge branch 'master' of g.csail.mit.edu:xv6-devRobert Morris1-9/+2
2017-08-08frans' fixes to iput()Robert Morris1-0/+2
2017-08-08fs comment nitsRobert Morris1-7/+7
2017-08-07Remove some debugging statementsFrans Kaashoek1-7/+0
2017-08-07Merge branch 'nogs'Frans Kaashoek1-2/+2
2017-04-26Fix typo in dirlookupGrant Wu1-1/+1
2017-01-31Start of an experiment to remove the use of gs for cpu local variables.Frans Kaashoek1-2/+2
2016-09-11Replace I_BUSY with sleep locksFrans Kaashoek1-17/+10
2016-09-11Straight replacement of B_BUSY with a sleeping lock.Frans Kaashoek1-1/+9
2016-09-02Fix a few lines that runoff is complaining about that they are too longFrans Kaashoek1-3/+7
2016-08-25Remove trailing white space with:Frans Kaashoek1-7/+7
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 Kaashoek1-14/+12
- 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 Kaashoek1-1/+1
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 Morris1-1/+1
2014-08-27commentsRobert Morris1-1/+1
2014-08-04every iput() and namei() must be inside a transactionRobert Morris1-0/+3
2011-10-11more FS comment clarificationRobert Morris1-45/+62
2011-10-11clarify some FS commentsRobert Morris1-17/+37
2011-08-29Revert "Introduce and use sleeplocks instead of BUSY flags"Frans Kaashoek1-16/+16
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 Kaashoek1-16/+16
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 Morris1-18/+13
2011-08-15avoid deadlock by calling begin_trans() before locking any inodesRobert Morris1-4/+3
2011-08-12log write() dataRobert Morris1-2/+2
usertest for big write()s push begin_trans/commit_trans down into syscalls
2011-07-27Dirt simple loggingFrans Kaashoek1-6/+6
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 Zeldovich1-1/+1
[ cherry-picked de6075ff0978108daea1d658425bcb37663a98a0 ] Conflicts: fs.c
2009-10-24Comment typoAustin Clements1-1/+1
2009-08-30assorted fixes:Russ Cox1-2/+2
* 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 Cox1-2/+1
pdf has very good page breaks now. would be a good copy for fall 2009.
2009-07-11rearrangements and cleanup for textRuss Cox1-49/+50
2009-05-31group locks into structs they protect.rsc1-1/+1
few naming nits.
2009-05-31fix bug fixrsc1-2/+2
2009-05-31tidy fs.c; bmap callers always expected allocationrsc1-24/+15
2009-05-31inode reuse bug.rsc1-1/+1
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 namesrsc1-6/+6
2008-10-20Explain why itrunc() is OK w.r.t. crashes.rtm1-0/+2
2008-10-16free the indirect blockkolya1-0/+1
2008-10-08be clear what the root i-number isrtm1-1/+1
2007-08-28final nitsrsc1-3/+3
2007-08-28spaces around else for rtmrsc1-2/+1
2007-08-28more consistent spacingrsc1-18/+18
2007-08-28Change dev read/write functionsrsc1-2/+2
to take inode* instead of minor number. Unlock console inode during console_read and console_write. Otherwise background processes cannot write to console while the shell is reading it waiting for input.