Commit graph

405 commits

Author SHA1 Message Date
Moinak Ghosh
991482403b Add extension based file type detection and setting segment data type.
Use Bob Jenkins Minimal Perfect Hash to check for known extensions.
Use semaphore signaling and direct buffer copy for extraction.
Miscellaneous fixes.
2013-11-07 21:48:54 +05:30
Moinak Ghosh
489b97cc79 Clear off private xattrs when extracting.
Enable pathname sorting only for high compression levels.
2013-11-04 18:35:22 +05:30
Moinak Ghosh
448890a014 Replace slow pipe with direct memory copy for archive extraction.
Miscellaneous corrections and tweaks.
2013-11-03 23:15:55 +05:30
Moinak Ghosh
7ed532133e Avoid using pipe during archive creation. Use semaphores and direct memory copy. 2013-11-02 23:43:59 +05:30
Moinak Ghosh
a374ca5909 Use mmap to read from the pathlist file for performance. 2013-11-02 12:14:46 +05:30
Moinak Ghosh
dcccffd7fa Archiving support using Libarchive: Fully functional archiving and extraction.
Functionality to sort pathnames based on file extension and size.
2013-11-01 23:15:40 +05:30
Moinak Ghosh
e09d8a485c Archiving support using Libarchive: Working archive extraction. 2013-10-31 00:15:17 +05:30
Moinak Ghosh
8e4b774c8c More changes for archiving.
Allow multiple filenames on command line when archiving.
Remove unneded small block writes with libarchive.
2013-10-27 20:36:48 +05:30
Moinak Ghosh
46b11def08 Archiving support using Libarchive: Work in progress changes #3.
Make log_msg() add newline by default.
2013-10-24 00:16:04 +05:30
Moinak Ghosh
bc451aba36 Archiving support using Libarchive: Work in progress changes #2. 2013-10-22 23:41:51 +05:30
Moinak Ghosh
7f81869874 Archiving support using Libarchive: Work in progress changes.
Change all perror() calls to use logger.
Make the config script a little verbose.
2013-10-20 23:54:27 +05:30
Moinak Ghosh
28fd9848f9 Ability to specify output compressed pathname.
Fix log level handling.
Trim commented code.
2013-10-10 21:19:44 +05:30
Moinak Ghosh
8c1f4ebe61 Add a simple log facility.
Refactor all printfs to use log facility.
2013-10-02 20:45:33 +05:30
Moinak Ghosh
fa78621cbf Cleanup pointer casting in code to use macros. 2013-09-22 20:11:15 +05:30
Moinak Ghosh
38c0869f5c Update Changelog and tweak free memory detection for 2.4 release.
Add identifiers to error messages for clarity.
Fix init of dedupe block size.
Tweak free memory detection to include swap and shared memory consideration.
2013-09-05 21:12:37 +05:30
Moinak Ghosh
a61fea75da Fix incorrect chunk size initialization from a previous commit. 2013-09-03 23:23:11 +05:30
Moinak Ghosh
b236638e72 Remove confusing option with little practical utility.
Update test cases and documentation.
2013-09-01 15:02:28 +05:30
Moinak Ghosh
12a2b8ed63 Additional error checks in RLE encoding for bsdiff extra data.
Add a buffer overflow check in RLE encoder.
Avoid calling RLE encoding if extra data length is zero.
Make 2KB block size default for non-global deduplication.
Update test cases for new 2KB block size support.
2013-08-30 19:51:43 +05:30
Moinak Ghosh
2e62be3c9c Truncate password file after zeroing. 2013-08-29 22:03:08 +05:30
Moinak Ghosh
9a7a8e84fe Add more example usage. 2013-08-28 21:01:25 +05:30
Moinak Ghosh
be1d0857a6 Avoid calling compression routine when dedupe reduces data size to zero. 2013-08-28 09:46:10 +05:30
Moinak Ghosh
cee8d88ded Bump version for upcoming release. 2013-08-27 21:41:16 +05:30
Moinak Ghosh
7685adefb2 Default compression level only when compressing. 2013-08-24 23:15:07 +05:30
Moinak Ghosh
fc65111bae Fix issue #11.
Increase default chunk size to 8MB.
Use default compression level of 1 (fast mode) for LZ4.
2013-08-24 22:58:50 +05:30
Moinak Ghosh
3db5188445 Support for deduplication using 2KB block size. 2013-08-19 13:38:52 +05:30
Moinak Ghosh
ef98422bd4 Add basic file format documentation.
Reduce memory threshold for switching to Similarity based Deduplication.
2013-08-18 20:11:20 +05:30
Moinak Ghosh
58f3113558 Avoid unnecessary re-hashing of 64-bit keys of the segment index. 2013-08-17 22:08:55 +05:30
Moinak Ghosh
d31c6433c2 Update free memory computation to include cached buffers.
Fix a potential rare corner case.
2013-08-17 11:31:44 +05:30
Moinak Ghosh
413a2a2fb1 Update Changelog and bump version for 2.3 release. 2013-08-10 10:25:41 +05:30
Moinak Ghosh
f35d0ff4ef Fix multiple crashes for some corner cases.
Increase max block size for variable dedup block sizes greater than 16KB.
Update test cases and fix a test script bug.
2013-08-09 21:55:06 +05:30
Moinak Ghosh
fe18afbcf4 Use wrapper script to set paths when launching pcompress from build directory.
Use smaller max block size when doing global dedupe.
Fix init of executable name.
2013-08-07 22:03:52 +05:30
Moinak Ghosh
f34cfb1aa6 Make data partitioning between threads more effective.
Remove unnecessary computation to make Fixed block chunking faster.
2013-07-21 09:31:59 +05:30
Moinak Ghosh
2a218e9da5 Fix Dedupe Mode initialization. 2013-07-12 18:21:49 +05:30
Moinak Ghosh
8b73303488 Some minor code cleanup. 2013-07-05 22:22:11 +05:30
Moinak Ghosh
e10a13ad94 Improve accuracy of the KMV sketch computation and speed it up. 2013-07-03 19:24:06 +05:30
Moinak Ghosh
6b67e98747 Reduce similarity indicators to reduce memory use with low impact on dedupe ratio. 2013-06-30 22:38:05 +05:30
Moinak Ghosh
de0695e2c5 Add missing init of rabin block size. 2013-06-29 19:13:22 +05:30
Moinak Ghosh
17db67564d Reduce a rollign hash parameter for a slight speedup with no side effect. 2013-06-24 21:13:32 +05:30
Moinak Ghosh
6432c76b4b Update README formatting yet again - ugh. 2013-06-16 21:12:04 +05:30
Moinak Ghosh
52723cbbac Update README formatting. 2013-06-16 21:09:04 +05:30
Moinak Ghosh
92be5a17f0 Update README with pointers to relevant analysis and documentation. 2013-06-16 20:46:17 +05:30
Moinak Ghosh
c0dd0102a5 A few minor fixes. 2013-06-14 22:25:01 +05:30
Moinak Ghosh
63370caee9 Remove an rpath entry meant for testing. 2013-06-03 21:28:20 +05:30
Moinak Ghosh
7743792018 Make default symbol visibility to hidden with explicit public visibility specified.
Add missing static scope to a few more places.
2013-06-03 20:51:00 +05:30
Moinak Ghosh
c859cf35d5 Make Pcompress functionality into a library - initial changes. 2013-06-02 20:54:33 +05:30
Moinak Ghosh
8db0bef184 Bump version and update Changelog for 2.2 release. 2013-05-28 21:45:19 +05:30
Moinak Ghosh
ab1ced942d Update invalid environment variable handling to actually fail rather than auto-correct. 2013-05-28 21:38:35 +05:30
Moinak Ghosh
e9ce7a5ed2 Fix a crash with invalid PCOMPRESS_CHUNK_HASH_GLOBAL.
Update testcase to correctly detect core files.
2013-05-26 23:38:10 +05:30
Moinak Ghosh
ddaa3b6b6d Drastic simplification of Min-heap code and resultant Delta speedup. 2013-05-25 17:34:38 +05:30
Moinak Ghosh
0a1e3b39ef Correspond segment size to chunk size for Segmented Dedupe for better accuracy. 2013-05-15 22:20:45 +05:30