Sebastian Messmer
|
9e9369b9ed
|
Performance optimization: When removing or shrinking a tree, we don't load/read leaves anymore. Loading inner nodes is enough to get all block IDs and then we can delete the leaves from their IDs without loading them.
|
2016-07-13 11:27:31 +02:00 |
|
Sebastian Messmer
|
7a68757599
|
Remove unneeded subtrees when shrinking tree
|
2016-07-13 07:08:53 +02:00 |
|
Sebastian Messmer
|
cf38eb0eb3
|
Use tree traversal to remove data tree.
|
2016-07-13 00:29:36 +02:00 |
|
Sebastian Messmer
|
508766d2f2
|
Fix traversal and add test cases
|
2016-07-13 00:22:35 +02:00 |
|
Sebastian Messmer
|
845b0b5239
|
Use LeafTraversor for resizing blobs
|
2016-07-12 20:36:12 +02:00 |
|
Sebastian Messmer
|
a19d79361c
|
If a tree is grown by a traversal, the tree is kept in a balanced state as long as possible during the traversal
|
2016-07-12 09:57:56 +02:00 |
|
Sebastian Messmer
|
1bf20277e4
|
Removed unnecessary code
|
2016-07-12 01:10:27 +02:00 |
|
Sebastian Messmer
|
58f2212043
|
Don't query size on traversal
|
2016-07-12 01:09:30 +02:00 |
|
Sebastian Messmer
|
582c9c1a4c
|
Fix traversal
|
2016-07-12 01:04:33 +02:00 |
|
Sebastian Messmer
|
98b85ea8b6
|
Started rewriting traversal
|
2016-07-10 22:57:39 +02:00 |
|
Sebastian Messmer
|
dde89da556
|
Improve traverseLeaves
|
2016-07-10 08:38:02 +02:00 |
|
Sebastian Messmer
|
e85019e95b
|
Cache value of DataTree.numLeaves(). This should make read()/write() faster.
|
2016-07-05 23:56:44 -07:00 |
|
Sebastian Messmer
|
a242076ecc
|
Performance improvement: Allow more parallelity when getting read()/write() syscalls to the same blob
|
2016-07-05 23:02:59 -07:00 |
|
Sebastian Messmer
|
1c0199e147
|
When the user specifies a block size for the file system, this is taken as the physical block size, not virtual block size.
|
2016-03-16 19:30:26 +00:00 |
|
Sebastian Messmer
|
08c1d206af
|
Fix compiler error
|
2016-03-09 00:13:18 +01:00 |
|
Sebastian Messmer
|
4dbb380263
|
Decouple DirBlob from CryDevice
|
2016-03-08 23:47:31 +01:00 |
|
Sebastian Messmer
|
80f63969c7
|
Add TODOs
|
2016-02-17 13:09:03 +01:00 |
|
Sebastian Messmer
|
68acc27e88
|
Report file system statistics (like free space) to operating system
|
2016-02-15 14:20:21 +01:00 |
|
Sebastian Messmer
|
e44c44334f
|
Fix compile on Debian 8 (link it to a library it wants)
|
2016-02-14 16:54:29 +01:00 |
|
Sebastian Messmer
|
636445cd82
|
Introduce version flags for file system entities to allow future CryFS versions to be backwards-compatible even if the format changes.
|
2016-02-13 15:06:28 +01:00 |
|
Sebastian Messmer
|
31672e086c
|
Fix includes after merging repositories
|
2016-02-11 15:19:58 +01:00 |
|
Sebastian Messmer
|
31d52d3c8d
|
Merged blobstore repository
|
2016-02-11 14:50:18 +01:00 |
|
Sebastian Messmer
|
3350e9368a
|
Switch to biicode
|
2015-02-17 00:40:34 +01:00 |
|
Sebastian Messmer
|
f115e10f6d
|
Implemented more tests for DataTreeTest
|
2015-01-28 01:02:32 +01:00 |
|
Sebastian Messmer
|
77b288a20a
|
Written some first test cases for DataTree
|
2015-01-27 00:54:25 +01:00 |
|
Sebastian Messmer
|
a61195642f
|
Added comment
|
2015-01-26 00:40:46 +01:00 |
|
Sebastian Messmer
|
58ccf0495e
|
Source out GetLowestRightBorderNodeWithLessThanKChildrenOrNull and write test cases for it
|
2015-01-26 00:39:15 +01:00 |
|
Sebastian Messmer
|
dd2c96e363
|
Since blocks now store their keys, we don't need to store it somewhere else.
|
2015-01-24 22:27:14 +01:00 |
|
Sebastian Messmer
|
03e10cabf5
|
Implement copying DataNode blocks and finish DataTree::addDataLeaf implementation
|
2015-01-24 01:59:42 +01:00 |
|
Sebastian Messmer
|
d442016d16
|
Implemented converting any node into a inner node and wrote test cases. Furthermore, implemented DataTree::addDataLeafToFullTree()
|
2015-01-24 00:58:40 +01:00 |
|
Sebastian Messmer
|
fcccbcf2e0
|
Fix some issues in DataTree using OptionalOwnershipPointer
|
2015-01-23 18:32:26 +01:00 |
|
Sebastian Messmer
|
753c5aab27
|
Start with DataTreeStore
|
2015-01-23 04:39:36 +01:00 |
|
Sebastian Messmer
|
dabe6e2567
|
Written more test cases for DataInnerNode and refactored them a bit
|
2015-01-23 03:05:55 +01:00 |
|
Sebastian Messmer
|
a427b0e677
|
Allow adding children to DataInnerNode and write some test cases
|
2015-01-23 02:41:55 +01:00 |
|
Sebastian Messmer
|
99c2e353a4
|
Restrict datanodestore abstraction to a simple node store without tree operations like resizing
|
2015-01-22 23:37:36 +01:00 |
|
Sebastian Messmer
|
fa604a7fc4
|
Move datanodestore classes into own c++ package and adapt BlobStoreOnBlocks to it
|
2014-12-13 19:17:08 +01:00 |
|
Sebastian Messmer
|
517ed6929d
|
Add testcases to DataLeafNodeTest
|
2014-12-13 17:58:11 +01:00 |
|
Sebastian Messmer
|
de5eb0fa81
|
Create own module for datanodestore
|
2014-12-13 17:48:02 +01:00 |
|
Sebastian Messmer
|
9ccb583b4b
|
Introduce DataNodeStore and refactor DataNode
|
2014-12-13 17:43:02 +01:00 |
|
Sebastian Messmer
|
a97eb08224
|
Replace magic number in DataNodeView with a depth field
|
2014-12-13 12:00:19 +01:00 |
|
Sebastian Messmer
|
eaf9277d81
|
Make read-only functions of DataNode const
|
2014-12-11 00:24:50 +01:00 |
|
Sebastian Messmer
|
d1a7712aee
|
Comments & TODOs
|
2014-12-11 00:21:34 +01:00 |
|
Sebastian Messmer
|
c3d543619e
|
When shrinking a data node, the old space is overwritten with zeroes
|
2014-12-11 00:20:23 +01:00 |
|
Sebastian Messmer
|
24c81dd0b0
|
Implement DataLeafNode::resize and test cases for it
|
2014-12-10 23:34:36 +01:00 |
|
Sebastian Messmer
|
eebe8a4b75
|
Write factory methods in DataNode and write more test cases
|
2014-12-10 22:55:02 +01:00 |
|
Sebastian Messmer
|
1201823b68
|
Created some test cases for DataLeafNode
|
2014-12-10 17:59:45 +01:00 |
|
Sebastian Messmer
|
85b100ac9d
|
Written test cases for DataNodeView
|
2014-12-10 17:26:49 +01:00 |
|
Sebastian Messmer
|
b33cf908fa
|
Redesign DataNodes
|
2014-12-10 16:48:00 +01:00 |
|
Sebastian Messmer
|
0b2b527b4d
|
Create dedicated Key class for addressing blocks
|
2014-12-09 20:36:32 +01:00 |
|
Sebastian Messmer
|
ec65b31c8e
|
Add DataNode/DataInnerNode/DataLeafNode to blobstore and write testcases for their magic numbers
|
2014-12-09 18:53:11 +01:00 |
|