Commit Graph

1871 Commits

Author SHA1 Message Date
Sebastian Messmer
66cd99b0ff Use hinted linear search instead of binary search 2015-10-08 01:19:44 +02:00
Sebastian Messmer
bf3a028204 DirEntryList keeps its items sorted by key - this allows faster accesses 2015-10-07 21:41:00 +02:00
Sebastian Messmer
3f782a330f Configure cache size for DirBlob cache 2015-10-07 17:24:28 +02:00
Sebastian Messmer
260bc1056a Make cache MAX_SIZE configurable 2015-10-07 17:24:13 +02:00
Sebastian Messmer
19c1c0e28e Refactoring: Factor out a DirEntryList class from DirBlob 2015-10-07 13:45:17 +02:00
Sebastian Messmer
81e856fda2 Fix DirBlob::releaseBaseBlob() 2015-10-05 19:09:17 +02:00
Sebastian Messmer
e890222c77 Write back DirBlob when baseBlob is released 2015-10-05 18:54:51 +02:00
Sebastian Messmer
810c2c5b48 Added some locks against race conditions 2015-10-05 18:54:16 +02:00
Sebastian Messmer
e5fcf6a9bc Comments 2015-10-05 17:07:16 +02:00
Sebastian Messmer
44fb3011ed Add a CachingFsBlobStore 2015-10-05 16:58:33 +02:00
Sebastian Messmer
2a938730e7 Test cases print stack trace on sigsegv 2015-10-05 16:56:53 +02:00
Sebastian Messmer
cc2f93af92 Test cases print stack trace on sigsegv 2015-10-05 16:54:41 +02:00
Sebastian Messmer
cd5094ff92 Added asserts that there are no open blocks when destructor runs 2015-10-05 16:54:31 +02:00
Sebastian Messmer
d47020e781 Test cases print stack trace on sigsegv 2015-10-05 16:52:49 +02:00
Sebastian Messmer
58f7024919 Test cases print stack trace on sigsegv 2015-10-05 16:52:06 +02:00
Sebastian Messmer
78dbe6ea24 Test cases print stack trace on sigsegv 2015-10-05 16:51:49 +02:00
Sebastian Messmer
5bb77adc87 Added Cache::size() 2015-10-05 16:51:36 +02:00
Sebastian Messmer
fa35e6f644 Failed asserts show a pretty printed stacktrace 2015-10-05 15:46:50 +02:00
Sebastian Messmer
e78cd1db91 Demangle backtrace 2015-10-05 14:58:16 +02:00
Sebastian Messmer
d9821c2623 Directory Blobs store block keys in binary instead of string 2015-10-05 04:49:04 +02:00
Sebastian Messmer
abde844932 Fix includes 2015-10-05 03:56:37 +02:00
Sebastian Messmer
b8f42ee9e5 TODOs 2015-10-05 03:54:18 +02:00
Sebastian Messmer
0d09501a38 Activate ASSERT 2015-10-05 03:46:39 +02:00
Sebastian Messmer
ca9f3fe2e6 Introduce Blob::readAll() and introduce a size cache so the blob size doesn't have to be queried so often 2015-10-05 03:45:00 +02:00
Sebastian Messmer
9c433209c2 Speed up DirBlob reads by using Blob::readAll() 2015-10-05 03:44:20 +02:00
Sebastian Messmer
7e54d284e1 Speed up writing back of DirBlobs by another factor of 3 (so 9 in total) by serializing the whole blob and writing it back with one write() call 2015-10-05 02:55:04 +02:00
Sebastian Messmer
af70891d27 Made writing back DirBlobs faster by writing whole entries at once (speedup factor of 3) 2015-10-05 02:35:06 +02:00
Sebastian Messmer
4b84f5d211 Added Data::dataOffset() and made most Data functions inline 2015-10-05 02:28:53 +02:00
Sebastian Messmer
0367df004e Added locks to avoid race conditions in FsBlobStore 2015-10-04 17:37:00 +02:00
Sebastian Messmer
e873418477 Allow specifying own class for ResourceRef 2015-10-04 17:27:26 +02:00
Sebastian Messmer
1977a720df Introduced ParallelAccessFsBlobStore to avoid race conditions when accessing the same FsBlob in parallel 2015-10-04 17:20:14 +02:00
Sebastian Messmer
63fe94ffe6 Add FixedSizeData::Null() 2015-10-04 17:14:32 +02:00
Sebastian Messmer
6e436b7a59 Return reference to keys, don't copy keys 2015-10-04 17:14:02 +02:00
Sebastian Messmer
d9410488a7 Removed debug output 2015-10-03 02:34:46 +02:00
Sebastian Messmer
6dec27253c Fix assert test case 2015-10-03 01:30:42 +02:00
Sebastian Messmer
b617378430 Add a lock library 2015-10-03 01:23:39 +02:00
Sebastian Messmer
0bb278bcdd Fix backtraces in asserts 2015-10-03 01:23:30 +02:00
Sebastian Messmer
3fed6f13cb Removed testcases for constexpr 2015-10-03 01:01:48 +02:00
Sebastian Messmer
73101b74ea Better locking for cache 2015-10-01 15:52:43 +02:00
Sebastian Messmer
84330b1100 Cache has better parallelity - we can push()/pop() while it is flushing and flushing is actually parallel 2015-10-01 13:51:01 +02:00
Sebastian Messmer
c8c13517e0 TODOs 2015-10-01 02:00:34 +02:00
Sebastian Messmer
942a627173 Better fix for Cache race condition 2015-10-01 01:52:21 +02:00
Sebastian Messmer
90471ea6a3 Fixed Cache race condition and added test for it 2015-10-01 01:20:40 +02:00
Sebastian Messmer
e07ddaa289 Fix traversing bug and add test case for it 2015-09-30 15:33:09 +02:00
Sebastian Messmer
37f7c764d1 Return better fuse errors 2015-09-30 14:27:29 +02:00
Sebastian Messmer
6e8aec1a4c Each-operation-logging can be switched on by changing a single line 2015-09-30 14:13:26 +02:00
Sebastian Messmer
752be4415c Protect from race conditions happening when the same FsBlob is open multiple times 2015-09-30 14:05:05 +02:00
Sebastian Messmer
e3d2fdb2fd Refactor: Add fsblobstore layer 2015-09-30 13:21:07 +02:00
Sebastian Messmer
faa4b0c6f8 Improve flush() 2015-09-30 13:17:35 +02:00
Sebastian Messmer
8beb5bac0b Improved traverseLeaves implementation: Faster and a bit better understandable 2015-09-30 10:19:06 +02:00