Colin Walters [Mon, 22 Aug 2022 18:10:16 +0000 (14:10 -0400)]
rust: Bind `ostree_repo_list_commits_starting_with`
I wanted to use this as a fallback for
https://github.com/ostreedev/ostree-rs-ext/pull/351/commits/
30dee81c22ad5cb90e77198d3ddbcc25d388afb5
Luca Bruno [Wed, 24 Aug 2022 13:24:35 +0000 (13:24 +0000)]
Merge pull request #2702 from thesamesam/bashism
buildutil/glibtests.m4: fix bashism
Luca Bruno [Wed, 24 Aug 2022 13:17:41 +0000 (13:17 +0000)]
Merge pull request #2700 from jlebon/pr/staged-docs
docs: Add section about staged deployments
Sam James [Tue, 23 Aug 2022 22:37:06 +0000 (23:37 +0100)]
buildutil/glibtests.m4: fix bashism
configure scripts need to be runnable with a POSIX-compliant /bin/sh.
On many (but not all!) systems, /bin/sh is provided by Bash, so errors
like this aren't spotted. Notably Debian defaults to /bin/sh provided
by dash which doesn't tolerate such bashisms as '=='.
This retains compatibility with bash.
Fixes configure warnings/errors like:
```
checking whether to build static libraries... no
./configure: 14795: test: unexpected operator
```
Signed-off-by: Sam James <sam@gentoo.org>
Jonathan Lebon [Tue, 23 Aug 2022 18:53:36 +0000 (14:53 -0400)]
Merge pull request #2698 from cgwalters/update-gir
Jonathan Lebon [Tue, 23 Aug 2022 14:56:28 +0000 (10:56 -0400)]
docs: Add section about staged deployments
I was explaining staged deployments to someone today and was looking for
a doc but we didn't have any. Fix that.
Dan Nicholson [Tue, 23 Aug 2022 07:35:40 +0000 (01:35 -0600)]
Merge pull request #2699 from cgwalters/drop-debian-testing
ci: Also drop seccomp on debian testing
Colin Walters [Mon, 22 Aug 2022 19:59:33 +0000 (15:59 -0400)]
ci: Also drop seccomp on debian testing
I didn't deep dive into debugging this but I'm pretty sure it's
https://gitlab.gnome.org/GNOME/glib/-/issues/2580
which is us having an older Docker in the middle here.
Colin Walters [Mon, 22 Aug 2022 18:23:03 +0000 (14:23 -0400)]
rust: Update to latest git
In the future I may try to add CI that requires this to be
sync'd...
Colin Walters [Mon, 22 Aug 2022 18:25:07 +0000 (14:25 -0400)]
Merge pull request #2692 from GeorgesStavracas/gbsneto/transaction-leak
lib/commit: Unref repo on success
Colin Walters [Fri, 19 Aug 2022 14:53:56 +0000 (10:53 -0400)]
Merge pull request #2697 from tkfu/docs/add-related-projects
docs: Add aktualizr and TorizonCore to related projects
Jon Oster [Fri, 19 Aug 2022 14:27:01 +0000 (16:27 +0200)]
docs: Add aktualizr and TorizonCore to related projects
Signed-off-by: Jon Oster <jon.oster@toradex.com>
Joseph Marrero Corchado [Fri, 19 Aug 2022 11:31:24 +0000 (07:31 -0400)]
Merge pull request #2693 from lucab/ups/libostree-fix-annotation
libostree: fix a typo in annotation
Luca BRUNO [Fri, 19 Aug 2022 10:39:09 +0000 (10:39 +0000)]
libostree: fix a typo in annotation
This fixes a typo in the `allow-none` annotation on
`ostree_sysroot_deployment_set_kargs_in_place` argument.
Jonathan Lebon [Thu, 18 Aug 2022 16:07:19 +0000 (12:07 -0400)]
Merge pull request #2691 from cgwalters/rev-parse-single
Colin Walters [Tue, 16 Aug 2022 21:27:46 +0000 (17:27 -0400)]
cli/rev-parse: Add `--single` option
In the current "ostree native container" flow, we're inserting
a commit object into the repo but with no refs.
We have hacks in a few places to find the commit digest via e.g.
`find repo/objects -name *.commit` but that's a horrible hack.
Add `ostree rev-parse --single` which will print the single commit,
and error out if there is not exactly one commit.
Co-authored-by: Jonathan Lebon <jonathan@jlebon.com>
Luca Bruno [Wed, 17 Aug 2022 07:21:55 +0000 (07:21 +0000)]
Merge pull request #2690 from cgwalters/cli-less-goto-1
cli/rev-parse: Port to new code style
Georges Basile Stavracas Neto [Tue, 16 Aug 2022 22:54:29 +0000 (19:54 -0300)]
lib/commit: Unref repo on success
Commit
540e60c3 introduced _ostree_repo_auto_transaction_new(), a
private constructor to OstreeRepoAutoTransaction, by factoring out
some code from _ostree_repo_auto_transaction_start(). This factored
code increased the refcount of the 'repo' variable.
Subsequent commit
71304e854c made ostree_repo_prepare_transaction()
use ths newly introduced constructor. However, in this function, the
happy path assumed no ref was taken, and therefore did not unref it.
Commit
71304e854c didn't add the corresponding unref either.
This leaks a reference to OstreeRepo when calling
ostree_repo_prepare_transaction().
Plug this leak by using g_clear_object() to clear the repo field
of OstreeRepoAutoTransaction, instead of simply setting it to NULL.
Closes https://github.com/flatpak/flatpak/issues/4928
Colin Walters [Tue, 16 Aug 2022 21:11:30 +0000 (17:11 -0400)]
cli/rev-parse: Port to new code style
Prep for future changes.
Jonathan Lebon [Tue, 16 Aug 2022 13:03:07 +0000 (09:03 -0400)]
Merge pull request #2684 from ostreedev/dependabot/submodules/libglnx-
26375b5
dependabot[bot] [Tue, 16 Aug 2022 07:28:21 +0000 (07:28 +0000)]
build(deps): bump libglnx from `
c59eb27` to `
26375b5`
Bumps libglnx from `
c59eb27` to `
26375b5`.
---
updated-dependencies:
- dependency-name: libglnx
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Colin Walters [Mon, 15 Aug 2022 22:33:55 +0000 (18:33 -0400)]
Merge pull request #2689 from jlebon/pr/ficlone-direct-payload
lib/commit: Directly use FICLONE for payload link
Jonathan Lebon [Mon, 15 Aug 2022 21:50:11 +0000 (17:50 -0400)]
tests/kolainst/staged-deploy: parse `rpm-ostree status --json` instead
Don't parse `rpm-ostree status` output, it's not meant for that. Use
`--json` output instead.
While we're here, fix an obsolete reference to Ansible.
Related: https://github.com/coreos/rpm-ostree/pull/3938
Jonathan Lebon [Mon, 15 Aug 2022 17:54:35 +0000 (13:54 -0400)]
lib/commit: Directly use FICLONE for payload link
The idea of payload linking is to reflink between objects where
possible. Instead of relying on `glnx_regfile_copy_bytes` to hit the
`FICLONE` path, just call `FICLONE` directly. At that point in the code,
we've already established that the source and dest repos are on the same
filesystem and that it supports `FICLONE`.
Related: https://gitlab.gnome.org/GNOME/libglnx/-/merge_requests/41
Related: https://github.com/ostreedev/ostree/pull/2684#issuecomment-
1204068437
Colin Walters [Sat, 13 Aug 2022 18:02:07 +0000 (14:02 -0400)]
Merge pull request #2688 from LukasKalbertodt/main
Update to `libtest-mimic` 0.5.0
Lukas Kalbertodt [Sat, 13 Aug 2022 14:14:23 +0000 (16:14 +0200)]
Update to `libtest-mimic` 0.5.0
Luca Bruno [Thu, 4 Aug 2022 07:02:08 +0000 (07:02 +0000)]
Merge pull request #2686 from cgwalters/include-cleanups
Handle conflicts between newer glibc and kernel headers
Colin Walters [Wed, 3 Aug 2022 14:43:43 +0000 (10:43 -0400)]
Move FIFREEZE/FITHAW ioctl invocations into linuxfsutil.c
Should help avoid conflicts between glibc and linux headers.
Closes: https://github.com/ostreedev/ostree/issues/2685
Colin Walters [Wed, 3 Aug 2022 14:37:40 +0000 (10:37 -0400)]
Remove unused `linux/fs.h` includes
Prep for fixing conflicts introduced by newer glibc.
cc https://github.com/ostreedev/ostree/issues/2685
Luca Bruno [Wed, 3 Aug 2022 11:41:18 +0000 (11:41 +0000)]
Merge pull request #2683 from cgwalters/sync-deny
deny.toml: Add `Unicode-DFS-2016`
Colin Walters [Mon, 1 Aug 2022 18:43:31 +0000 (14:43 -0400)]
deny.toml: Add `Unicode-DFS-2016`
This is used by the unicode crate now and is definitely a compatible
FOSS license.
Colin Walters [Fri, 22 Jul 2022 20:11:20 +0000 (16:11 -0400)]
Merge pull request #2678 from cgwalters/release-2022-5
Release 2022 5
Colin Walters [Fri, 22 Jul 2022 19:19:43 +0000 (15:19 -0400)]
rust-bindings: Fix `cargo fmt`
Colin Walters [Fri, 22 Jul 2022 19:09:07 +0000 (15:09 -0400)]
configure: post-release version bump
Colin Walters [Fri, 22 Jul 2022 19:08:25 +0000 (15:08 -0400)]
Release 2022.5
Colin Walters [Fri, 22 Jul 2022 19:05:27 +0000 (15:05 -0400)]
Merge pull request from GHSA-gqf4-p3gv-g8vw
Fix sign
ed25519 verify
Luca Bruno [Fri, 15 Jul 2022 18:25:13 +0000 (18:25 +0000)]
Merge pull request #2675 from HuijingHei/update-doc
Update doc about adding new function to libostree
Colin Walters [Fri, 15 Jul 2022 18:24:25 +0000 (14:24 -0400)]
Merge pull request #2676 from render-se/debos-docs
add debos to readme distribution build tools
Chris Mucciolo [Fri, 15 Jul 2022 17:24:29 +0000 (13:24 -0400)]
docs add debos to readme distribution build tools
Colin Walters [Thu, 14 Jul 2022 20:48:12 +0000 (16:48 -0400)]
rust: Add a test case for
ed25519
Specifically, I verified that *before* the previous patch to the
ed25519 C code, the last bit of code would fail with a SIGSEGV when
trying to read the empty signature.
Colin Walters [Thu, 14 Jul 2022 18:42:19 +0000 (14:42 -0400)]
sign/
ed25519: Verify signatures are minimum length
The
ed25519 signature verification code does not
check that the signature is a minimum/correct length.
As a result, if the signature is too short, libsodium will end up
reading a few bytes out of bounds.
Reported-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Co-authored-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Closes: https://github.com/ostreedev/ostree/security/advisories/GHSA-gqf4-p3gv-g8vw
Huijing Hei [Thu, 14 Jul 2022 06:24:03 +0000 (14:24 +0800)]
Update doc about adding new function to libostree
Colin Walters [Wed, 13 Jul 2022 20:35:28 +0000 (16:35 -0400)]
Merge pull request #2669 from HuijingHei/fix-kargs
Fix `ostree admin kargs edit-in-place` fails issue
Colin Walters [Wed, 13 Jul 2022 20:35:17 +0000 (16:35 -0400)]
Merge pull request #2672 from cgwalters/initialize-sysroot-cleanups
sysroot: Have `ensure_writable` also always initialize
Colin Walters [Wed, 13 Jul 2022 20:35:10 +0000 (16:35 -0400)]
Merge pull request #2673 from cgwalters/assert-boot
sysroot: Add a few more assertions about `boot_fd`
Colin Walters [Wed, 13 Jul 2022 19:38:59 +0000 (15:38 -0400)]
sysroot: Add a few more assertions about `boot_fd`
These places are all safe, but it would catch bugs in the future
more clearly to trip an assertion here.
Colin Walters [Wed, 13 Jul 2022 19:35:00 +0000 (15:35 -0400)]
sysroot: Have `ensure_writable` also always initialize
For historical reasons we have a fair bit of distinct sysroot
initialization going on. A lot of code is calling *just* the new
`ensure_writable()` API, which does basically what you'd expect...
except if we're not using a mount namespace.
Which is the case in unit tests and legacy setups.
Change this API to also ensure the sysroot is fully initialized
even in those cases. Specifically we'll have `self->sysroot_fd`.
For now, callers that need `/boot` also need to separately
call `_ensure_boot_fd()`.
Colin Walters [Wed, 13 Jul 2022 19:32:05 +0000 (15:32 -0400)]
deploy: Ensure sysroot is initialized for kargs in place
Even without a mount namespace set up.
Colin Walters [Tue, 12 Jul 2022 20:03:09 +0000 (16:03 -0400)]
Merge pull request #2671 from matthiasbeyer/readme-rust-bindings-fix
Fix link to rust bindings
Huijing Hei [Tue, 12 Jul 2022 08:27:56 +0000 (16:27 +0800)]
Add test to verify `ostree admin kargs edit-in-place` working
Huijing Hei [Fri, 8 Jul 2022 11:37:37 +0000 (19:37 +0800)]
Fix `ostree admin kargs edit-in-place` fails issue
Add func to set kernel arguments in place, instead of create new
deployment
Fix https://github.com/ostreedev/ostree/issues/2664
Jonathan Lebon [Mon, 11 Jul 2022 17:52:53 +0000 (13:52 -0400)]
Merge pull request #2668 from cgwalters/sync-cargo-deny
Matthias Beyer [Mon, 11 Jul 2022 06:55:43 +0000 (08:55 +0200)]
Fix link to rust bindings
ostree-rs was merged into ostree, so link to the rust bindings within
this repository.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Colin Walters [Fri, 8 Jul 2022 13:41:04 +0000 (09:41 -0400)]
Merge pull request #2666 from saqibali-2k/pr/bls-append
ostree-repo: bls-append-except-default followup
Colin Walters [Fri, 8 Jul 2022 13:33:18 +0000 (09:33 -0400)]
deny: Sync with rpm-ostree
This extends the license set basically and ignores private repos
(which we don't have any yet).
Saqib Ali [Tue, 5 Jul 2022 16:00:16 +0000 (12:00 -0400)]
ostree-repo: bls-append-except-default followup
This PR is followup from https://github.com/coreos/coreos-assembler/pull/2863
Summary of changes:
- Moved bls-append-except-default parsing logic to reload_sysroot_config()
- Made sure heap allocated memory is being freed
Colin Walters [Wed, 6 Jul 2022 21:13:23 +0000 (17:13 -0400)]
Merge pull request #2667 from cgwalters/deploy-require-repo
lib: Stop using old `ostree_sysroot_get_repo()` API
Colin Walters [Wed, 6 Jul 2022 11:46:42 +0000 (07:46 -0400)]
lib: Stop using old `ostree_sysroot_get_repo()` API
It's falliable, and in one place we were actually ignoring
the error and leaving a `NULL` repo object which is just a trap
for people coming along later since it's rarely nullable.
Quite a while ago we switched to loading the repo at the same time
as the sysroot; convert callers in the library to use this infallible
accessor.
Prep for another patch which will use the repo object.
Colin Walters [Thu, 30 Jun 2022 13:08:54 +0000 (09:08 -0400)]
Merge pull request #2632 from saqibali-2k/pr/prune-commit-only
lib/prune: speed up pruning by retrieving only commits
Jonathan Lebon [Tue, 28 Jun 2022 20:56:09 +0000 (16:56 -0400)]
Merge pull request #2661 from cgwalters/port-cap-std
Saqib Ali [Mon, 6 Jun 2022 21:46:01 +0000 (17:46 -0400)]
lib/prune: speed up pruning by retrieving only commits
After landing the new --commit-only functionality, we still noticed
exceedingly long pruning times in large repos. Lets add an optimization
that will only retrieve commit objects when --commit-only flag is used.
Colin Walters [Fri, 24 Jun 2022 19:28:21 +0000 (15:28 -0400)]
tests/inst: Port to cap-std
Part of an ongoing effort.
Colin Walters [Fri, 24 Jun 2022 18:30:33 +0000 (14:30 -0400)]
Merge pull request #2660 from cgwalters/fix-load-file-api
repo: Metadata return values from `load_file` are not nullable
Jonathan Lebon [Fri, 24 Jun 2022 16:49:50 +0000 (12:49 -0400)]
Merge pull request #2655 from nikita-dubrovskii/sdboot_rename
Jonathan Lebon [Fri, 24 Jun 2022 14:49:19 +0000 (10:49 -0400)]
Merge pull request #2659 from cgwalters/hackaround-cosa-systemd-unit-check
Colin Walters [Thu, 23 Jun 2022 21:23:45 +0000 (17:23 -0400)]
tests/staged-deploy.sh: Hack around cosa systemd unit check
https://github.com/coreos/coreos-assembler/pull/2921 broke this
test which is intentionally causing a systemd unit to fail.
As they say, necessity is the mother of invention. They don't
say though that need always causes particularly *beautiful* things
to be invented...
Nikita Dubrovskii [Thu, 23 Jun 2022 13:54:04 +0000 (15:54 +0200)]
s390x: rename sd-boot to sdboot
Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
Colin Walters [Thu, 23 Jun 2022 21:36:46 +0000 (17:36 -0400)]
repo: Metadata return values from `load_file` are not nullable
The pattern this API uses in C is to allow the input parameters
pointer targets to be `NULL`, and it doesn't return values in that
case.
A further complexity here is that the API will still return `NULL`
for symbolic links.
But Rust can't express this pattern as is, so we were always
returning values but in `Option<T>` wrappers that the caller needed
to unwrap for the metadata.
(We really want an even more efficient API here that avoids the glib
objects entirely, e.g. no reason not to pass directly back a type
that lets Rust directly read from the fd for bare repos, but
that can come later)
Colin Walters [Thu, 23 Jun 2022 20:36:24 +0000 (16:36 -0400)]
Merge pull request #2656 from cgwalters/bump-cap-std
rust: Bump semver to 0.15 && bump cap-std 0.25
Colin Walters [Thu, 23 Jun 2022 20:35:49 +0000 (16:35 -0400)]
Merge pull request #2658 from jlebon/pr/pinger
tests/inst/destructive: stop disabling fedora-coreos-pinger
Jonathan Lebon [Thu, 23 Jun 2022 19:50:39 +0000 (15:50 -0400)]
tests/inst/destructive: stop disabling fedora-coreos-pinger
It was removed from FCOS:
https://github.com/coreos/fedora-coreos-tracker/issues/770
Colin Walters [Thu, 23 Jun 2022 18:25:42 +0000 (14:25 -0400)]
Bump to cap-std 0.25 and io-lifetimes 0.7
Prep for bumping ostree-rs-ext, which will help bump rpm-ostree,
which will get it out of having two copies of rustix.
Colin Walters [Thu, 23 Jun 2022 18:56:30 +0000 (14:56 -0400)]
rust: Bump semver to 0.15
Prep for some breaking changes.
Colin Walters [Thu, 23 Jun 2022 18:58:00 +0000 (14:58 -0400)]
Fix clippy lint in cap-std bits
Colin Walters [Thu, 23 Jun 2022 18:44:33 +0000 (14:44 -0400)]
ci/rust: Change MSRV to `cargo check`
No reason to codegen just to throw it away. We could test here too,
but eh.
Colin Walters [Thu, 23 Jun 2022 18:43:55 +0000 (14:43 -0400)]
ci/rust: Enable `cap-std-apis` in default build, add a no-feature build
Our CI was missing coverage of `cap-std-apis`.
Colin Walters [Thu, 23 Jun 2022 16:16:03 +0000 (12:16 -0400)]
Merge pull request #2639 from HuijingHei/admin-kargs-edit-in-place
RFE: Add a hidden option to `ostree admin kargs edit-in-place` to update all existing deployments in place
Huijing Hei [Thu, 2 Jun 2022 07:30:20 +0000 (15:30 +0800)]
RFE: Add a hidden option to `ostree admin kargs edit-in-place` to
update all existing deployments in place
Example:
$ sudo ostree admin kargs edit-in-place --append-if-missing=rw
See https://github.com/ostreedev/ostree/issues/2617
This will not add duplicate key, if there is `TESTARG=VAL1` in the
kernel arguments, `--append-if-missing=TESTARG=VAL2` will be ignored.
Colin Walters [Tue, 21 Jun 2022 20:44:12 +0000 (16:44 -0400)]
Merge pull request #2651 from cgwalters/misc-declare-and-initialize-2
cli: Port to C99 style (3)
Colin Walters [Tue, 21 Jun 2022 20:00:32 +0000 (16:00 -0400)]
Merge pull request #2654 from jlebon/pr/drop-packit
Drop `.packit.yaml`
Jonathan Lebon [Tue, 21 Jun 2022 19:10:18 +0000 (15:10 -0400)]
Drop `.packit.yaml`
This repo is already hooked to the @CoreOS/continuous COPR repo for
multi-arch RPM builds of the latest commits.
It's possible we will use Packit in the future to help with the release
process. But for now, let's just drop this file since it's not needed
and the Packit failures are marking git main CI as failed.
Colin Walters [Mon, 20 Jun 2022 20:38:29 +0000 (16:38 -0400)]
Merge pull request #2652 from smcv/not-always-xattrs
test-basic-c: Don't assert that extended attributes are available
Simon McVittie [Fri, 17 Jun 2022 13:15:35 +0000 (14:15 +0100)]
test-basic-c: Don't assert that extended attributes are available
Not all filesystems support extended attributes. This test uses
/var/tmp to try to get an extended-attributes-capable filesystem,
but that might not succeed.
Signed-off-by: Simon McVittie <smcv@debian.org>
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/refs: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/remote-list: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/gpg-sign: Port to C99 style
General background cleanup.
Jonathan Lebon [Tue, 14 Jun 2022 20:20:44 +0000 (16:20 -0400)]
Merge pull request #2650 from cgwalters/misc-declare-and-initialize-1
Joseph Marrero Corchado [Tue, 14 Jun 2022 14:38:46 +0000 (10:38 -0400)]
Merge pull request #2649 from cgwalters/misc-declare-and-initialize
cli: a few "Port to C99 style"
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/diff: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/config: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/unlock: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/undeploy: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/os-init: Port to C99 style
General background cleanup; motivated by a recent PR which
was using pre-C99 code as a base.
Colin Walters [Mon, 13 Jun 2022 13:10:36 +0000 (09:10 -0400)]
Merge pull request #2643 from cgwalters/rust-2021
rust: Switch to 2021 edition, bump MSRV, a few `format!` updates
Luca Bruno [Mon, 13 Jun 2022 07:46:14 +0000 (07:46 +0000)]
Merge pull request #2646 from cgwalters/bindings-tests
rust-bindings: Wire up `tests/`
Luca Bruno [Mon, 13 Jun 2022 07:32:33 +0000 (07:32 +0000)]
Merge pull request #2645 from cgwalters/fsck-more-cleanups
fsck: A few more cleanups
Colin Walters [Sun, 12 Jun 2022 18:34:02 +0000 (14:34 -0400)]
rust-bindings: Wire up `tests/`
Because the source is in a subdirectory, we lose out on cargo target
autodiscovery.
I noticed this when I edited one of the tests in a way that
should have failed, but didn't...
Colin Walters [Sun, 12 Jun 2022 14:55:14 +0000 (10:55 -0400)]
fsck: Use `load_variant_if_exists`
This cleans up error handling here.
Colin Walters [Sun, 12 Jun 2022 14:53:09 +0000 (10:53 -0400)]
fsck: Move most commit processing into helper function
The inner loop was way too long; split out most of the heavy
lifting around backrefs and tombstones into a helper function.
Colin Walters [Sun, 12 Jun 2022 14:48:39 +0000 (10:48 -0400)]
fsck: De-indent loop
Could have done this in the previous change, but wanted to avoid
excessive diff noise.