Robert Morris
5d34fa2a48
-initrd fs.img, ramdisk.c, file system
2019-05-31 11:45:42 -04:00
Robert Morris
6389d9d410
nothing much
2017-08-09 14:16:55 -04:00
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