Dropped jemalloc support because of #969223
URGENT BUGFIX: mkdwarfs did not correctly handle inputs where hardlinks had the same
inode number on different devices. To run into this issue, you would have to make
mkdwarfs scan files from multiple devices (e.g. the root of a directory tree with
multiple mounted filesystems) and have files with the same inode number on different
devices and have at least two of those files also have a link count greater than 1.
While this is hopefully rare in practice, it is a serious bug that can lead to
crashes (in the best case) or even data loss (in the worst case), as only the data of
one of these files would be stored in the image. This has been fixed and a test has
been added to cover this case.
Bug: https://bugs.gentoo.org/969223
Bug: https://bugs.gentoo.org/971461
Signed-off-by: Denis Reva <denis7774@gmail.com>
Bugfixes:
FUSE driver hangs when accessing files and the driver is not started in
foreground or debug mode. This bug is present
in both the 0.5.2 and 0.5.3 releases. Fixes
https://github.com/mhx/dwarfs/issues/44
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>
New:
* The segmenting code now uses a bloom filter to
discard unsuccessful matches as early and quickly as possible
* nilsimsa similarity computation has been improved
Fixed:
* GCC builds https://github.com/mhx/dwarfs/issues/14
* Libarchive https://github.com/mhx/dwarfs/issues/36
* mkdwarfs catch certain exceptions correctly
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>
The 0.4.0 is the best ones, and it backward compatible
with elder images!
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>
Key features:
* Up to twice as fast and up to 10% better compression
* New dwarfsextract tool
Allow extracting dwarfs images as archives.
* Bugfixes.
Fixed bug with revdep-rebuild.
Package now proper use system libraries.
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>
Ebuild changes:
* Added use flags for jemalloc and python
Upsteam changes:
Even better compression than before
Mostly thanks to a new ordering algorithm that is now
enabled by default, I've seen a 15% improvement in achievable
compression ratio. In my standard test of packing 48 GiB of
Perl installations, the resulting DwarFS image size reduced
from 556 MiB to 472 MiB without any regression in
compression speed.
More memory efficient FUSE driver
By switching to jemalloc, the FUSE driver has become much
more memory efficient, using up to ten times less memory
than with the standard glibc allocator.
Python scripting support
The Lua scripting interface has been fully replaced by
a new Python interface. I've been looking for a
luabind replacement, but none of the candidates seemed
to be well maintained or reasonably easy to integrate.
Python is much more approachable for most people and
boost::python seems well maintained. The new interface
also has a lot more features. You can find an
example script in the distribution.
Fix for file system images created with versions
before dwarfs-0.2.3
If you've created DwarFS images with the 0.2.0,
0.2.1 or 0.2.2 releases, symbolic links were stored
in a way that the FUSE driver in the 0.2.x releases
could not read them back correctly. With the
new 0.3.0 release, these old images, including the
symbolic links, can now be read again, so there's
no need to rebuild your old images.
Improved file system format
The file system format has been updated with
the 0.3.0 release to include integrity checking via
SHA2-512/256 hashes as well as features that should make
recovery easier in case of file system image corruption.
In addition to the SHA hashes, the extremely fast xxHash
library is used to store a second hash that is
checked every time any part of the file system is
used. While there are currently no recovery features
implemented, having this data in the file system
already should be really valuable. You can convert
an old image to the new format using:
mkdwarfs -i old.dwarfs -o new.dwarfs --recompress none
Statically linked 64-bit Linux binaries available
Given the long list of dependencies, building DwarFS
might not be an option for you. In that case, you can
now download the binary distribution that should work
fine on most 64-bit Linux distributions.
FUSE drivers are included for both FUSE2 and FUSE3
Lots of smaller fixes & changes
See the Change Log for a full list of changes.
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>
Upstream changes:
Fix --set-owner and --set-group options, which caused an
exception to be thrown at the end of creating a file system.
(fixes github #24)
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>
I has just ported new package:
https://github.com/mhx/dwarfs
It's file-system like squashfs but compresses stronger
I had to use built-in libs because they hard-coded,
and furthermore they used partially
So It no more require dev-cpp/folly,
and I thought about deleting its.
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>