diff options
author | Jonathan Lebon <jlebon@redhat.com> | 2018-02-28 17:30:18 +0000 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-02-28 18:09:13 +0000 |
commit | 530043fcf6444f5751caa2c478d9411ab78e1698 (patch) | |
tree | 16729eb726ac01283286cc30fdb012a5b7799840 /src/libostree/ostree-sysroot.c | |
parent | 6db6268dfd76dfb36bd7bd756fe78ba8a1abcd5b (diff) | |
download | ostree-530043fcf6444f5751caa2c478d9411ab78e1698.tar.gz |
lib/sysroot: Fix retrieving non-booted pending deployment
If we're booted into a deployment, then any queries for the pending
merge deployment of a non-booted OS will fail due all of them being
considered rollback.
Fix this by filtering by `osname` *before* determining if we've crossed
the booted deployment yet.
Closes: #1472
Approved by: cgwalters
Diffstat (limited to 'src/libostree/ostree-sysroot.c')
-rw-r--r-- | src/libostree/ostree-sysroot.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libostree/ostree-sysroot.c b/src/libostree/ostree-sysroot.c index 2c12b78b..2d12deb6 100644 --- a/src/libostree/ostree-sysroot.c +++ b/src/libostree/ostree-sysroot.c @@ -1202,6 +1202,10 @@ ostree_sysroot_query_deployments_for (OstreeSysroot *self, { OstreeDeployment *deployment = self->deployments->pdata[i]; + /* Ignore deployments not for this osname */ + if (strcmp (ostree_deployment_get_osname (deployment), osname) != 0) + continue; + /* Is this deployment booted? If so, note we're past the booted */ if (self->booted_deployment != NULL && ostree_deployment_equal (deployment, self->booted_deployment)) @@ -1210,10 +1214,6 @@ ostree_sysroot_query_deployments_for (OstreeSysroot *self, continue; } - /* Ignore deployments not for this osname */ - if (strcmp (ostree_deployment_get_osname (deployment), osname) != 0) - continue; - if (!found_booted && !ret_pending) ret_pending = g_object_ref (deployment); else if (found_booted && !ret_rollback) |