ostree/src
Colin Walters 2c39bd88a9 repo: Change locking for summary regeneration to be shared
This is trying to address:
https://pagure.io/fedora-iot/issue/48

Basically we changed rpm-ostree to start doing a shared lock during
commit by default, but this broke because pungi is starting a process
doing a commit for each architecture, and then trying to regenerate
the summary after each one.

This patch is deleting a big comment with a rationale for why
summary regeneration should be exclusive.  Point by point:

> This makes sure the commits and deltas don't get
> deleted while generating the summary.

But prune operations require an exclusive lock, which means that
data still can't be deleted when the summary grabs a shared lock.

> It also means we can be sure refs
> won't be created/updated/deleted during the operation, without having to
> add exclusive locks to those operations which would prevent concurrent
> commits from working.

First: The status quo *has* prevented concurrent commits from working!

There is no real locking solution to this problem. What we really
need to do here is regenerate the summary after each commit *or*
when the caller decides to do it and e.g. include deltas at the same
time.

It's OK if multiple threads race to regenerate the summary;
last-one-wins behavior here is totally fine.
2021-12-03 14:42:03 -05:00
..
boot ostree-remount: Order before systemd-rfkill.* 2021-06-22 11:22:47 -04:00
libostree repo: Change locking for summary regeneration to be shared 2021-12-03 14:42:03 -05:00
libotutil variantutil: Fix gcc -fanalyzer warnin 2021-10-13 17:13:14 -04:00
ostree app: Only remount /sysroot if needed 2021-11-19 11:01:18 -05:00
rofiles-fuse rofiles-fuse: Enable support for setting and getting xattrs 2021-04-05 17:01:58 -04:00
switchroot prepare-root: Set up sysroot readonly in initramfs 2021-11-03 16:37:20 +00:00