Mixing async and threads has proved to be too much for my little mind. It has race conditions that I've tried repeatedly to fix, but failed. The threading here was scanning metadata objects - and there are two parts to that: 1) Physically loading them from disk 2) Parsing them Now #1 has been partially addressed by avoiding a storm of lstat() if we're starting from a known working state. If pull gets interrupted, then we do need to rescan all objects. Also, we can address this with local metadata packfiles. The other potentially slow bit is that we recurse across the metadata, blocking the main thread. We could ameliorate that in the future by scheduling metadata parsing as idle "chunks". Anyways, let's move the needle back to reliability, and readd speed more carefully. https://bugzilla.gnome.org/show_bug.cgi?id=706456 |
||
|---|---|---|
| doc | ||
| embedded-dependencies | ||
| manual-tests | ||
| packaging | ||
| selinux | ||
| src | ||
| tests | ||
| .gitignore | ||
| .gitmodules | ||
| COPYING | ||
| Makefile-boot.am | ||
| Makefile-decls.am | ||
| Makefile-libostree-defines.am | ||
| Makefile-libostree.am | ||
| Makefile-ostree.am | ||
| Makefile-otutil.am | ||
| Makefile-switchroot.am | ||
| Makefile-tests.am | ||
| Makefile.am | ||
| Makefile.dist-packaging | ||
| README-historical.md | ||
| README.md | ||
| TODO | ||
| autogen.sh | ||
| configure.ac | ||
| ostree.doap | ||
README.md
OSTree is a tool for managing bootable, immutable, versioned filesystem trees. While it takes over some of the roles of tradtional "package managers" like dpkg and rpm, it is not a package system; nor is it a tool for managing full disk images. Instead, it sits between those levels, offering a blend of the advantages (and disadvantages) of both.
For more information, see: