Commit Graph

114 Commits

Author SHA1 Message Date
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
Sebastian Messmer 5fee5e862a BlobStoreOnBlocks mirrors BlockStore 2014-12-09 17:56:48 +01:00
Sebastian Messmer 532431f8e3 Created basic class structure for blobstore 2014-12-09 17:45:33 +01:00
Sebastian Messmer 93a624b228 Rename blobstore to blockstore 2014-12-09 17:19:59 +01:00
Sebastian Messmer 32d28665a0 TODOs 2014-12-07 22:38:48 +01:00
Sebastian Messmer 2c295ace62 Specify that BlobWithKey takes ownership of the contained blob 2014-12-07 08:57:04 +01:00
Sebastian Messmer 6d0815915c Redefined error behavior in blob loading when blob key doesn't exist 2014-12-07 00:58:56 +01:00
Sebastian Messmer aed2148f17 Redefine error behavior in BlobStoreWithRandomKeys when key already exists and write test cases for it 2014-12-07 00:09:44 +01:00
Sebastian Messmer 9125e7a3ce Factor out BlobStoreWithRandomKeys 2014-12-06 22:28:57 +01:00
Sebastian Messmer 2b112c7fdb Generalized BlobStoreTest, added more test cases there 2014-12-06 21:28:03 +01:00
Sebastian Messmer a116a8330c Implemented an in-memory blobstore 2014-12-06 16:14:22 +01:00
Sebastian Messmer e0e9129099 Also move RandomKeyGenerator to utils package 2014-12-06 15:50:37 +01:00
Sebastian Messmer abcc766375 Moved Data class to an own utils package in blobstore 2014-12-06 15:48:32 +01:00
Sebastian Messmer 2d3f329b6a Block-Keys are created randomly 2014-12-06 11:22:34 +01:00
Sebastian Messmer b64d352a8c BlobStore also returns BlobKey 2014-12-05 15:37:35 +01:00
Sebastian Messmer b9c2f43afb Test loading a not existing blob (and fix behaviour for that case) 2014-12-05 12:00:05 +01:00
Sebastian Messmer a34b5a316f Added Blob::flush() and test cases for it 2014-12-05 11:22:44 +01:00
Sebastian Messmer a699350e19 Simplify Data::LoadFromFile and use DISALLOW_COPY_AND_ASSIGN for OnDiskBlob and OnDiskBlobStore 2014-12-05 08:14:19 +01:00
Sebastian Messmer c20b09030d Move load from file functionality to Data class 2014-12-05 08:08:45 +01:00
Sebastian Messmer e32a84eb8e Add Data::StoreToFile 2014-12-05 07:42:39 +01:00
Sebastian Messmer e52da598f4 Write some test cases for OnDiskBlob and also change implementation to adapt them 2014-12-05 07:16:35 +01:00
Sebastian Messmer ab3b5d906c Written a ondisk blobstore implementation and started with test cases 2014-12-05 06:20:38 +01:00
Sebastian Messmer a43359c3b0 Added size parameters to blobstore interface 2014-12-05 06:06:05 +01:00
Sebastian Messmer 90c49dabc6 Written first version of the blobstore interface 2014-12-05 04:50:50 +01:00