537 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
579ac41f58 More testing 2021-03-17 22:52:37 +01:00
Marcus Holland-Moritz
2e94b1bce8 Finally rename entries to inodes 2021-03-17 20:48:01 +01:00
Marcus Holland-Moritz
50ef291cd3 Report correct file system size depending on enable_nlink 2021-03-17 20:48:01 +01:00
Marcus Holland-Moritz
5ac501467a Rename walk_inode_order to walk_data_order
We want to walk the file system in the order in which file data is
stored. This used to be inode order, but it's not anymore, so let's
name the function appropriately and fix the implementation.
2021-03-17 20:48:01 +01:00
Marcus Holland-Moritz
5726ee708f Cleanup 2021-03-17 20:48:01 +01:00
Marcus Holland-Moritz
9727d56be8 Test statvfs 2021-03-17 20:48:01 +01:00
Marcus Holland-Moritz
ad48cae7b1 Unique files table, deprecate inode_v2_2, some cleanup 2021-03-17 20:48:01 +01:00
Marcus Holland-Moritz
d507ade9d1 Initial implementation of metadata format v2.3 2021-03-17 20:48:01 +01:00
Marcus Holland-Moritz
6ef5361fc5 Improve test coverage 2021-03-16 13:06:09 +01:00
Marcus Holland-Moritz
425c9d68e9 Cleanup command line options, add --max-lookback-blocks 2021-03-03 01:51:40 +01:00
Marcus Holland-Moritz
d29faef726 New block manager implementation 2021-03-02 23:21:53 +01:00
Marcus Holland-Moritz
354e47714d Formatting 2021-02-28 21:20:43 +01:00
Marcus Holland-Moritz
3081117de4 Allow rewriting with selective recompression 2020-12-18 11:08:26 +01:00
Marcus Holland-Moritz
56ba4fe0bc Disable slow tests 2020-12-15 17:43:42 +01:00
Marcus Holland-Moritz
d5d81fe703 More tests 2020-12-13 16:48:13 +01:00
Marcus Holland-Moritz
23cbfb5158 Fix gh #20: Grabbled output due to progress bar and mismatched TERM
Provide `--progress=` option with a variety of choices.
2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
14aed67ade Add nilsimsa2 order mode (will replace nilsimsa after more testing) 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
728504a85f Add --with-devices and --with-specials options 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
c4a8fd7969 Detect hard links and optimize code to avoid duplicate scanning 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
63c9e9a3c3 Add support for nilsimsa-based inode ordering
Also refactor inode manager to take full control of ordering.
Nilsimsa ordering is really slow, but has the advantage that
inodes are added continuously while ordering. This allows us
to perform the bulk of the ordering in the background while
already running segmenting/compression.
2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
272d726c73 Clang-format 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
8bce415dd9 Remove stray semicolon 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
2867f98307 Simple backwards-compatibility tests 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
fc406dff35 Extent scripting interface, add options interface 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
6788ba0d69 Rework scripting abstractions, improve inode interface 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
57aaa5bec0 Allow madvise()ing image block data
This will be on by default and can be disabled with the
`no_image_madvise` option.
2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
0a248ecbf6 Add support for storing char/block devices, pipes, sockets
Char/block devices won't work on FUSE filesystems by design, but
they can still be e.g. rsync'd from the mounted image to a "real"
file system.

Pipes should work just fine, sockets are currently untested.
2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
d000d93a5d Remove accidentally committed code 2020-12-01 11:40:47 +01:00
Marcus Holland-Moritz
984fca1b51 Fix metadata link handling 2020-12-01 11:39:11 +01:00
Marcus Holland-Moritz
1e70a2d4af Implement option to mlock metadata 2020-11-29 02:47:13 +01:00
Marcus Holland-Moritz
9c3fb8b00f Header hygiene 2020-11-29 01:42:29 +01:00
Marcus Holland-Moritz
c767b0b93e metadata_v2: more cleaning up 2020-11-28 02:06:41 +01:00
Marcus Holland-Moritz
e3a4f8db09 metadata_v2: v1 removal, part 1 2020-11-28 00:54:11 +01:00
Marcus Holland-Moritz
a2b0522d15 metadata_v2: test filesystem_v2 2020-11-27 19:55:27 +01:00
Marcus Holland-Moritz
0d8f81b0cb Use gtest test suite support to split test cases 2020-11-23 20:52:06 +01:00
Marcus Holland-Moritz
c288466b2a Improve speed of unit test 2020-11-22 15:21:22 +01:00
Marcus Holland-Moritz
772f276300 Initial checkin 2020-11-21 18:54:28 +01:00