Merge pull request #2516 from cgwalters/define-ostree-booted

This commit is contained in:
Jonathan Lebon 2022-01-12 13:39:59 -05:00 committed by GitHub
commit 1af0150750
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 5 deletions

View File

@ -973,7 +973,7 @@ ostree_sysroot_initialize (OstreeSysroot *self,
* we'll use it to sanity check that we found a booted deployment for example. * we'll use it to sanity check that we found a booted deployment for example.
* Second, we also find out whether sysroot == /. * Second, we also find out whether sysroot == /.
*/ */
if (!glnx_fstatat_allow_noent (AT_FDCWD, "/run/ostree-booted", NULL, 0, error)) if (!glnx_fstatat_allow_noent (AT_FDCWD, OSTREE_PATH_BOOTED, NULL, 0, error))
return FALSE; return FALSE;
const gboolean ostree_booted = (errno == 0); const gboolean ostree_booted = (errno == 0);
@ -1106,11 +1106,11 @@ sysroot_load_from_bootloader_configs (OstreeSysroot *self,
return FALSE; return FALSE;
if (errno == ENOENT) if (errno == ENOENT)
{ {
return glnx_throw (error, "Unexpected state: /run/ostree-booted found, but no /boot/loader directory"); return glnx_throw (error, "Unexpected state: %s found, but no /boot/loader directory", OSTREE_PATH_BOOTED);
} }
else else
{ {
return glnx_throw (error, "Unexpected state: /run/ostree-booted found and in / sysroot, but bootloader entry not found"); return glnx_throw (error, "Unexpected state: %s found and in / sysroot, but bootloader entry not found", OSTREE_PATH_BOOTED);
} }
} }

View File

@ -24,6 +24,14 @@
G_BEGIN_DECLS G_BEGIN_DECLS
/**
* OSTREE_PATH_BOOTED:
* Filesystem path that is created on an ostree-booted system.
*
* Since: 2022.2
*/
#define OSTREE_PATH_BOOTED "/run/ostree-booted"
#define OSTREE_TYPE_SYSROOT ostree_sysroot_get_type() #define OSTREE_TYPE_SYSROOT ostree_sysroot_get_type()
#define OSTREE_SYSROOT(obj) \ #define OSTREE_SYSROOT(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), OSTREE_TYPE_SYSROOT, OstreeSysroot)) (G_TYPE_CHECK_INSTANCE_CAST ((obj), OSTREE_TYPE_SYSROOT, OstreeSysroot))

View File

@ -45,7 +45,7 @@ ot_admin_builtin_finalize_staged (int argc, char **argv, OstreeCommandInvocation
/* Just a sanity check; we shouldn't be called outside of the service though. /* Just a sanity check; we shouldn't be called outside of the service though.
*/ */
struct stat stbuf; struct stat stbuf;
if (fstatat (AT_FDCWD, "/run/ostree-booted", &stbuf, 0) < 0) if (fstatat (AT_FDCWD, OSTREE_PATH_BOOTED, &stbuf, 0) < 0)
return TRUE; return TRUE;
g_autoptr(GOptionContext) context = g_option_context_new (""); g_autoptr(GOptionContext) context = g_option_context_new ("");

View File

@ -120,7 +120,7 @@ maybe_setup_mount_namespace (gboolean *out_ns,
return TRUE; return TRUE;
/* If the system isn't booted via libostree, also nothing to do */ /* If the system isn't booted via libostree, also nothing to do */
if (!glnx_fstatat_allow_noent (AT_FDCWD, "/run/ostree-booted", NULL, 0, error)) if (!glnx_fstatat_allow_noent (AT_FDCWD, OSTREE_PATH_BOOTED, NULL, 0, error))
return FALSE; return FALSE;
if (errno == ENOENT) if (errno == ENOENT)
return TRUE; return TRUE;