David Oberhollenzer
                                            David Oberhollenzer
                                        
                                    Hi! I'm not sure how much I can help here, since I currently don't have access to Apple hardware or software. The portability to MacOS was primarily achieved through being...
Some initial investigation shows that an LRU fragment block cache in the data reader can shave off some ~10% from unpacking an image. A random-access benchmark would be reasonable.
I've started looking into the block processor performance during the weekend. The approach I'm currently looking into is based on using a hash table that maps the block checksums to...
An appropriate API for the writer would probably be shaped something like this: - Create from a description struct - writer_mkdir/writer_mknod/writer_symlink/... - writer_begin_file, writer_append_file_data, writer_end_file - writer_begin_xattr, writer_append_xattr, writer_end_xattr -...
Yes, moving a sensible chunk of the support libraries to a shared library with a clean API and a slightly more permissive license that allows dynamic linking sounds worthwhile. I...
I released version 0.7 today (https://sourceforge.net/p/squashfs/mailman/message/36780934/). The new version builds a library `libsquashfs` that can be used by 3rd party applications to do all kinds of things with SquashFS images,...
Hi! Thanks for mentioning the library. The core parts of the SquashFS reading/writing in `squashfs-tools-ng` are also expose in an LGPL licensed, shared library. Unit testing of the core library...
So basically something like [libsquashfs](https://packages.debian.org/bullseye/libsquashfs1), which [has a C API](https://infraroot.at/projects/squashfs-tools-ng/doxydoc/index.html)?
A high level abstraction wrapper is implemented in `squashfs-tools-ng` *internally*, but it was not move to `libsquashfs` as there were some open questions regarding a generic enough design, and it...
Only unpacking duplicated files once and creating copy-on-write reflinks sounds like a very interesting idea. On Linux this would be done with an `FICLONE`, `FICLONERANGE` or `FIDEDUPERANGE` ioctl. On MacOS...