Commit graph

24 commits

Author SHA1 Message Date
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