On Wed, Apr 10, 2019 at 8:16 AM Olof Johansson olof@lixom.net wrote:
Anyway, see my other reply just now -- CPIO + a filesystem view, and providing said cpio archive in debugfs for those who want to copy it off themselves might be something that fits everybody.
I don't think it's worth increasing the complexity of the kernel for the sake of a little userspace convenience. By including the headers in the kernel, we solve an important coordination problem --- but we should solve this problem in the simplest possible way, pushing whatever complexity possible to userspace, which is more flexible and which evolves faster. Providing a compressed archive is fine. The user burden is not large: it's just extracting an archive from a standard container format. The kernel has no special advantageous way of doing this job. If userspace wants to cache extraction, it can hash the compressed archive itself and use the result as a key: it's only 3MB. But extracting the archive every time is fine. We're not talking about a huge amount of data, and I don't see a need for the kind of long-term caching that would require revalidation.
As for cpio vs tar: IME, people are much more familiar with the latter, and they're both omnipresent on unixish systems. I think it's fine to rely on a tool that's been part of POSIX for over 30 years.