Commit graph

37 commits

Author SHA1 Message Date
Robert Morris
12abb1a561 don't let dirty blocks be evicted from cache! 2011-10-14 10:23:23 -04:00
Robert Morris
a5fbfe418a clarify some FS comments 2011-10-11 06:41:37 -04:00
Frans Kaashoek
1ddfbbb194 Revert "Introduce and use sleeplocks instead of BUSY flags"
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 3a5fa7ed90.

Conflicts:

	defs.h
	file.c
	file.h
2011-08-29 17:18:40 -04:00
Frans Kaashoek
3a5fa7ed90 Introduce and use sleeplocks instead of BUSY flags
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-26 10:08:29 -04:00
Frans Kaashoek
af03ab142d a few nits
passes all tests on two-processor smp
2010-07-23 12:52:50 -04:00
Frans Kaashoek
7d7465a858 8ae0 instead of 8e00, thanks yandong 2009-12-01 14:07:12 -05:00
rsc
34295f461a group locks into structs they protect.
few naming nits.
2009-05-31 05:12:21 +00:00
rsc
0badeaa29f bio.c: use struct like icache does 2009-05-31 01:29:17 +00:00
rsc
0ca9ca0c55 slight rearrangement; sleep on b not buf. 2009-05-31 00:23:00 +00:00
rsc
2157576107 be consistent: no underscores in function names 2009-03-08 22:07:13 +00:00
rsc
6eed1ee9b0 formatting 2007-08-28 05:00:53 +00:00
rsc
558ab49f13 delete unnecessary #include lines 2007-08-27 23:26:33 +00:00
rsc
d003d232fc Another attempt at the bio.c comment.
Rename B_WRITE to B_DIRTY and then let ide.c
maintain the B_VALID and B_DIRTY flags.
2007-08-27 14:09:30 +00:00
rsc
872a63e104 nits 2007-08-24 21:14:58 +00:00
rsc
4d39b63388 nits 2007-08-24 19:46:19 +00:00
rtm
902b13f5d6 simplify ide queuing
nits in comments
2007-08-24 19:32:36 +00:00
rsc
eaea18cb9c PDF at http://am.lcs.mit.edu/~rsc/xv6.pdf
Various changes made while offline.

 + bwrite sector argument is redundant; use b->sector.
 + reformatting of files for nicer PDF page breaks
 + distinguish between locked, unlocked inodes in type signatures
 + change FD_FILE to FD_INODE
 + move userinit (nee proc0init) to proc.c
 + move ROOTDEV to param.h
 + always parenthesize sizeof argument
2007-08-22 06:01:32 +00:00
rsc
0655445ba9 cleanup loop 2007-08-14 19:42:14 +00:00
rsc
3f98d050e1 refactor bget to be more like iget - make it clear that sleep loops 2007-08-08 09:50:26 +00:00
rsc
95edc8921f debugging help 2006-09-07 16:54:28 +00:00
rsc
19297caf0d fix ide, pit interfaces 2006-09-07 15:29:54 +00:00
rsc
7a054598fa fix build bug 2006-09-07 14:39:05 +00:00
rsc
bb207a1d42 comments 2006-09-07 14:28:12 +00:00
rsc
0cfc7290e8 wrap long lines 2006-09-06 19:08:14 +00:00
rsc
db8fb62e4d for vs while 2006-09-06 18:47:51 +00:00
rsc
9e9bcaf143 standardize various * conventions 2006-09-06 17:27:19 +00:00
rtm
2aa4c3bc29 complain if no disk 1
lots of cleanup
2006-08-30 18:55:06 +00:00
rtm
05e975511b zero out all of dirent.name when creating
don't increase length of directory
2006-08-12 22:44:26 +00:00
rtm
cd93074e5b LRU disk cache replacement 2006-08-12 22:34:13 +00:00
rtm
14938f9392 buffer cache, fifo replacement 2006-08-12 17:17:35 +00:00
rtm
4357207237 fix getblk to actually lock the block
no more cons_put system calls
usertests tests two processes writing files
2006-08-12 11:38:57 +00:00
rtm
5be0039ce9 interrupts could be recursive since lapic_eoi() called before rti
so fast interrupts overflow the kernel stack
fix: cli() before lapic_eoi()
2006-08-10 22:08:14 +00:00
kaashoek
104207726b bwrite 2006-08-07 01:38:46 +00:00
kaashoek
8ec6530fee generalize async read to support write too 2006-08-06 20:28:15 +00:00
kaashoek
c8b29f6d03 better interrupt plan---this one appears to work
ioapic
2006-08-04 18:12:31 +00:00
rtm
32630628a9 open() 2006-07-29 09:35:02 +00:00
rtm
11a9947f1a bread
iget
mkfs makes a file system image
put this in your .bochsrc:
ata0-slave: type=disk, mode=flat, path="fs.img", cylinders=1024, heads=1, spt=1
2006-07-21 13:18:04 +00:00