Commit Graph

44 Commits

Author SHA1 Message Date
Sebastian Messmer 68a4c5646a Fix clang-tidy warnings 2021-04-21 17:37:40 -07:00
Sebastian Messmer c751f432a6 Fix ODR violations in test cases by adding an anonymous namespace around duplicate definitions 2021-01-12 19:48:27 -08:00
jeremymeadows 353f287bde
Added an option to create a mountpoint with a missing directory (#354)
* Added an option to create a mountpoint with a missing directory

It skips the normal confirmation message, which makes cryfs easier
to use in scripts, or can be aliased for quicker use.

* separated basedir and mountpoint autocreate flags, and added tests

* Werror and clang-tidy fixes
added to the ChangeLog

* fixed the bugs that clang-tidy caused

never used clang before, so I don't really know what it did and why it
caused compile errors
2020-07-31 18:08:19 -07:00
Sebastian Messmer cb01025c81 Simplify mocking thanks to new googletest features 2019-10-25 23:38:04 -07:00
Sebastian Messmer bb4c10770a Fix googletest deprecations 2019-10-19 18:38:54 -07:00
Sebastian Messmer efac089c76 - Add Clang 8 and GCC 9 to CI
- Switch clang-tidy to Clang 9
- Fix compiler and clang-tidy warnings produced by the previous points
2019-06-08 13:06:17 -07:00
Sebastian Messmer 2150446a2c Use paths relative to executable location to find subprocess executables 2019-03-23 22:01:26 -07:00
Sebastian Messmer 8a5091b8a2 Add Blob::numNodes() 2019-01-26 11:19:25 -08:00
Sebastian Messmer 1da3e6cbae - Fix for reading empty files out of bounds
- Fixed race condition (https://github.com/cryfs/cryfs/issues/224 and https://github.com/cryfs/cryfs/issues/243)
2019-01-12 23:21:12 -08:00
Sebastian Messmer 4b26c67146 Fix clang-tidy warnings 2018-10-14 22:26:30 +02:00
Sebastian Messmer 8d21e09159 Introduce fspp::num_bytes_t 2018-09-15 14:32:58 -07:00
Sebastian Messmer 2299867320 Reduce memory usage 2018-05-03 21:32:21 -07:00
Sebastian Messmer f439bf9d0f Remove c style casts and unaligned memory accesses 2017-12-03 19:01:41 +00:00
Sebastian Messmer cc7b38b3c1 - run-clang-tidy.sh also runs on test cases.
- fix clang-tidy warnings in test cases
2017-12-01 15:01:49 +00:00
Sebastian Messmer 5458af7c52 Rename blockstore::Key -> blockstore::BlockId 2017-09-17 02:07:27 +01:00
Sebastian Messmer f7c089ba47 Fix clang 5.0 compiler warnings 2017-09-16 17:45:15 +01:00
Sebastian Messmer 9516d4facc Further compatibility fixes for GCC 4.8 2017-09-10 14:27:14 +01:00
Sebastian Messmer 4a602ce7a5 Remove old blockstore implementations 2017-07-20 19:32:42 -07:00
Sebastian Messmer 32f06f288a Fix tree traversal and add test case for it 2016-09-07 22:25:18 +02:00
Sebastian Messmer 904e3dd7a1 Merge 2016-09-07 22:07:56 +02:00
Sebastian Messmer ea349cf79b Fix traversal bug and add test case for it 2016-09-07 19:02:41 +02:00
Sebastian Messmer bbdd8a548b Special case treatment for traversals until exactly the last leaf has to load the last leaf to grow it. Before this commit, we just always loaded the last traversed leaf and checked its size. Now we only do so if it's the right border leaf. This saves us loading some leaves. 2016-07-17 10:16:09 +02:00
Sebastian Messmer d80b95514e Traversal doesn't load leaves, but returns the key. This way, the write() call can (after a future commit) write to full leaves without loading them beforehand. 2016-07-15 20:12:24 +02:00
Sebastian Messmer 582917c1f5 Improve code decreasing tree depth 2016-07-15 16:23:00 +02:00
Sebastian Messmer b1b90b8c3d Further reduce number of nodes loaded when deleting a tree and write test cases for it 2016-07-15 15:42:34 +02:00
Sebastian Messmer c428d5642a Minimize number of Block::write() calls when creating new nodes in a traversal. Also add test cases for it. 2016-07-15 12:48:20 +02:00
Sebastian Messmer d626349802 Finish MockBlockStore to also collect other performance metrics, and implement the standard block store tests for it. 2016-07-15 10:23:09 +02:00
Sebastian Messmer 622416bc4d Add test cases for traverse performance 2016-07-15 01:03:41 +02:00
Sebastian Messmer 4e689f2411 Add test case ensuring that leaves aren't loaded on delete 2016-07-14 23:38:17 +02:00
Sebastian Messmer 41146282ca Add test cases for tree traversal 2016-07-14 11:41:49 +02:00
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 e7268744c6 Fix compiler warning 2016-07-13 00:23:29 +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 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 e85019e95b Cache value of DataTree.numLeaves(). This should make read()/write() faster. 2016-07-05 23:56:44 -07:00
Sebastian Messmer 2f8e8d8157 Add test case for DataTree::numLeaves after resize 2016-07-05 23:53:13 -07:00
Sebastian Messmer 97bd758eb8 Fix test case on 32bit platform (caused by double inaccuracy) 2016-04-02 10:13:28 +02: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 c6e8052d93 Merge all git repositories into one 2016-02-11 16:40:48 +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