Bug fixes
-
For fragments that are compressed with an algorithm that requires a granularity greater than 1 byte, sparse files with holes could trigger an error and cause the file to be empty in the output file system if the hole boundaries were not aligned to the granularity. This can easily be the case for 24-bit PCM audio files with long periods of silence, where the source file system has punched holes into the file to save space. The fix is to only treat holes specially if the compression algorithm has a granularity of 1 byte. For other granularities, holes are simply treated as "regular" runs of zeros. This is justifiable since PCM audio files are unlikely to contain gigabytes worth of silence, and even then this it would still be de-duplicated away by the segmenter. Fixes GitHub issue #378.
-
When changing the block size of a DwarFS image, the inode size cache update would only ever add new entries, but never remove inodes that no longer had the minimum number of chunks to qualify for being cached. This could eventually trigger the consistency check in
dwarfsckand cause it to fail. The fix is to remove any unqualifying inodes from the cache.
Full Changelog: v0.15.6...v0.15.7
SHA-256 Checksums
5957c2a380e1c57bc3b18475612be36120c3faf786373fcdf7c15245654869db dwarfs-0.15.7-Linux-aarch64.tar.xz
96163598341b3a0c2450a4e58c9ca33ad766b86a915f0fe49b057cac44cf776f dwarfs-0.15.7-Linux-arm.tar.xz
04bf6e3a14414c95ad1e4f2c3c8b42e6ec3a4d5a74fe178874cb439f760c6f3c dwarfs-0.15.7-Linux-i386.tar.xz
e3c497d164c9df0f705e741607ce03cc372705669ddfd4ad6dd79f056708c922 dwarfs-0.15.7-Linux-loongarch64.tar.xz
c19de3020a2ac58f0f70d65e349bb356b074fc9de7beea4519cfdd311f0fedf4 dwarfs-0.15.7-Linux-ppc64le.tar.xz
2aa74a376c74702c45b4ccc3703ce5b5283dfd05084a16b965d6d4771ef50a1a dwarfs-0.15.7-Linux-ppc64.tar.xz
481c182e9e175ea3278b2a11b78c387dac5ff0403bd38197f9b8cd00180b8999 dwarfs-0.15.7-Linux-riscv64.tar.xz
15cbc7e44c7162af3911e82438d3ca4fe53af9551828c1390412bfe64a2e4701 dwarfs-0.15.7-Linux-s390x.tar.xz
4dc3b756af88ede837eb3f27fbb5f2f0dbb83d7c9933a1d3be9216d2069d2f5f dwarfs-0.15.7-Linux-x86_64.tar.xz
363c7fdbf7bad490a6b8d63186da8643c1aeb17ca54cce1193d7b0ebc57bc6bd dwarfs-0.15.7.tar.xz
42a22273df41026bf6eb6fd6001797213388430cae5a4b1b08dfaebacf5b1d61 dwarfs-0.15.7-Windows-AMD64.7z
edb698186db6b162c755770ffabfcc05482bb7105a716fd943548e64244b0fd2 dwarfs-fuse-extract-0.15.7-Linux-aarch64
ad781b78835bc95191209806ff4f05edd240cae9b61e41ce1733516ada4e60a8 dwarfs-fuse-extract-0.15.7-Linux-aarch64.upx
e9a93c770c47dde882dec6dc678dec94be7526661fc6769c4bbe0f100e0ce8be dwarfs-fuse-extract-0.15.7-Linux-arm
5c2d7690de1b3e13a98582e238823aeb550d896ad6e9f24d81c928420b9931cd dwarfs-fuse-extract-0.15.7-Linux-arm.upx
d98ea42a790e5cf18ec81c8fd144fe281b88f3cf0e874988df5d40282f6ec323 dwarfs-fuse-extract-0.15.7-Linux-i386
af45aff62a4871eb38181d83c214c4a1907594e8d2ff3ab3384997f4318e495f dwarfs-fuse-extract-0.15.7-Linux-i386.upx
920b5cb8998daab2c4eb1bcc43d9f2f771831835e0574978a8aa90068f84f30c dwarfs-fuse-extract-0.15.7-Linux-loongarch64
aa17302ece213eee867421373d602eb05a4c27934441904f5f54e8df79bd3480 dwarfs-fuse-extract-0.15.7-Linux-ppc64
4454698ed95aa337c72cc840d105eb425b21ad730c18d8faa43bdec94525f1fb dwarfs-fuse-extract-0.15.7-Linux-ppc64le
3339208ba117601584dba7d8c2ea270bf7a36112e05a902c9a6cf76eed70920a dwarfs-fuse-extract-0.15.7-Linux-riscv64
f813d4edec9cbf0ac8e7362e59bcfa3c4e76e81cc14ef2bc4bf230f32d018509 dwarfs-fuse-extract-0.15.7-Linux-riscv64.upx
87fb1b22de99fd9db999ac12255da014b25ee916b8f29deb7a2c3cad9eca3e36 dwarfs-fuse-extract-0.15.7-Linux-s390x
72c106576087e8049f4c669cbf2cec4765201982a035faf65a6ef6dfef3819db dwarfs-fuse-extract-0.15.7-Linux-x86_64
ed048eb775aac811f867b19e10a94d2185caca4af61ec5209d3e5911b6853292 dwarfs-fuse-extract-0.15.7-Linux-x86_64.upx
7e07a81edc6b029470512c6829f61e590734d4a67905675474afd6f273f48a9b dwarfs-universal-0.15.7-Linux-aarch64
1b79a85f69a3201a44d8a03104e5d2893d5c5c4be340cc1e12d731bfbebee306 dwarfs-universal-0.15.7-Linux-aarch64.upx
972ec50e288d42ba38b7c7d95419165db0745dba41a5c1f4d96dac94fcdf7700 dwarfs-universal-0.15.7-Linux-arm
86e5b0c684a987e7f8e783eddb61c189e6d088c88a813fda7c7b732b3b168555 dwarfs-universal-0.15.7-Linux-arm.upx
07c95ed79f14d2ad9f485c1cd2f7e3586fa875202ca0d00d84d458a9af89f69b dwarfs-universal-0.15.7-Linux-i386
5279a826753cde2266ba16c414e1428f0b4ab29d2115341e992d95605a2b6d4a dwarfs-universal-0.15.7-Linux-i386.upx
b9302afb42e4ea487d5d96cab7a2a004348a6425b835ad597509e04ad5712bca dwarfs-universal-0.15.7-Linux-loongarch64
60bc6a07df35d59e93eafe53a6d20c61fa45cdf38e22fb3806bea00f5de8626d dwarfs-universal-0.15.7-Linux-ppc64
6c50a92a85f8edff672323ba3fa5e55309f6961c39eac6caddc18c5a083d76c2 dwarfs-universal-0.15.7-Linux-ppc64le
c8048684d8f0e182ac630d4724d8dbbc869e375833b5ba16159f668f11251742 dwarfs-universal-0.15.7-Linux-riscv64
9952f36b38dbc790a9498260bd2775203d209daa42b6725adff01827d63b6ae5 dwarfs-universal-0.15.7-Linux-riscv64.upx
9862a41830465faa27148f9ddadf4b447ff50bbe91f5944c0c4efbaa8845291b dwarfs-universal-0.15.7-Linux-s390x
baa03026e7d2c195fdb78bf261cd7d20f620b20685f8a3e26162ba9d652b0d78 dwarfs-universal-0.15.7-Linux-x86_64
c6157b8f9fb181af04481b05d18189151647a63de2f564a3d9415801923e0a12 dwarfs-universal-0.15.7-Linux-x86_64.upx
5e299607484276cbbb10a046c2b05dfb8051605d302bf5861923413eb240cd9b dwarfs-universal-0.15.7-Windows-AMD64.exe
5248ced38d647aaf2648f90c7bf2efe3956f734e5f5c82416e3cc22dfbda8be3 dwarfs-universal-small-0.15.7-Linux-aarch64
0ee19ba83ee81cb6a1e50217e393ffcb1b3c2358bdd41f3028c3c7f468e22ad7 dwarfs-universal-small-0.15.7-Linux-aarch64.upx
518c7dea56a58a17b8e3103230ee4c9493c2993a1f5983e2adf9b41f48a3f7d5 dwarfs-universal-small-0.15.7-Linux-arm
1d9bc449f5db0366fb48d068d7d751a4ab540dc5aa79bd6abced5f74875d41a9 dwarfs-universal-small-0.15.7-Linux-arm.upx
c9ec6d1b1c84f10c9425f25f03877a00fdead01da4277a78a39bca50e49a2270 dwarfs-universal-small-0.15.7-Linux-i386
55d643d9a4773132508b7799acef7915016034d22e7df065b9599e7d9ebd7950 dwarfs-universal-small-0.15.7-Linux-i386.upx
99a748f67150effb992f26717bdc10c865662c7accbd0d6adc67b5ad1a00d0b0 dwarfs-universal-small-0.15.7-Linux-loongarch64
8f1e7079fd1288163bc4babaddc202e5de3ade57153496594a33b6641590d868 dwarfs-universal-small-0.15.7-Linux-ppc64
09c0d391dc5b63879cb218246dd3babd1e3a1caa6ccc7ffb37b6fb11650f1202 dwarfs-universal-small-0.15.7-Linux-ppc64le
e9efdf1452f4661704d9b314de0afccf021ba395a84e717df2403f2fe66f0a44 dwarfs-universal-small-0.15.7-Linux-riscv64
d88bb82c9aac641229cb8fb31cab2f73ded5f1ed5d021bfd7670fdeda63ed736 dwarfs-universal-small-0.15.7-Linux-riscv64.upx
66538689db431a6ab026eb9a4cbfc083181493ad79dbae0654afd659facbb585 dwarfs-universal-small-0.15.7-Linux-s390x
f99f0d8b4adcc1ddd9380877a4e0ceb7553fdeb9bc05b956b55b8e801f1d70df dwarfs-universal-small-0.15.7-Linux-x86_64
282853a7b436583d1397c6c7d1f266831b411737abc7f4095628d7aeba7484b3 dwarfs-universal-small-0.15.7-Linux-x86_64.upx