Commit graph

25 commits

Author SHA1 Message Date
Frans Kaashoek 6670d3b5e0 Straight replacement of B_BUSY with a sleeping lock. 2016-09-11 17:24:04 -04:00
Frans Kaashoek 7894fcd217 Remove trailing white space with:
for f in *.{h,c}; do sed -i .sed 's/[[:blank:]]*$//' $f; done
(Thanks to Nicolás Wolovick)
2016-08-25 09:13:00 -04:00
Frans Kaashoek 8320d61be5 Pick up where i left off in april:
- 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-06-27 12:39:13 -04:00
Frans Kaashoek c24ac5d763 Disentangle block size from the disk's sector size. Set block size to 1024 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.
2015-04-03 08:22:02 -04:00
Cody Cutler 3d2dedd427 fix buf where concurrent fs syscalls race on log entries 2015-02-19 11:51:47 -05:00
Frans Kaashoek 74c77da6f8 Nice layout for a printout of the code 2014-08-29 17:06:49 -04:00
Robert Morris 2b2c1971fc write log blocks from cache only at end of transaction 2014-08-28 16:06:12 -04:00
Robert Morris 11183588dc nits 2014-08-28 06:27:01 -04:00
Robert Morris 48aa917403 i think this is a working concurrent logging scheme 2014-08-28 05:57:47 -04:00
Robert Morris 71453f72f2 a start at concurrent FS system calls 2014-08-27 17:15:30 -04:00
Robert Morris 2c56547272 every iput() and namei() must be inside a transaction 2014-08-04 13:06:48 -04:00
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
Austin Clements 9bb1e53df5 Add blank page to get our super FS spreads back 2011-09-02 15:14:06 -04:00
Austin Clements 7fb21193b0 Remove comment debug prints from log.c; now fits nicely in a spread 2011-09-02 15:11:52 -04:00
Austin Clements ee1b33065c Define struct log separately from log to avoid confusing column breaker 2011-09-02 15:08:35 -04:00
Austin Clements a14c96f825 Comment balance 2011-09-02 15:08:13 -04:00
Austin Clements 436f657e2d Remove unused headers from log.c 2011-09-02 15:07:56 -04:00
Frans Kaashoek e25b74ca80 Fix layout issues for printed version 2011-09-01 10:25:20 -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
Austin Clements 843eecfcd0 Only commit log to disk if something was written in to it.
Without this, every write to the console results in log writes.
2011-08-15 14:12:35 -04:00
Robert Morris 5053dd6a6d avoid deadlock by calling begin_trans() before locking any inodes 2011-08-15 12:44:20 -04:00
Robert Morris 2e59046362 log write() data
usertest for big write()s
push begin_trans/commit_trans down into syscalls
2011-08-12 09:25:39 -04:00
Frans Kaashoek 13a96baefc Dirt simple logging
Passes usertests and stressfs
Seems to recover correctly in a number of simple cases
2011-07-27 20:35:46 -04:00