Skip to content

Commit

Permalink
switchroot: use shared constant for unlock --hotfix
Browse files Browse the repository at this point in the history
So it's easier to link the two bits of code.
  • Loading branch information
cgwalters committed Jan 3, 2024
1 parent 40b143f commit dd33cc6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
3 changes: 3 additions & 0 deletions src/libotcore/otcore.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ GKeyFile *otcore_load_config (int rootfs, const char *filename, GError **error);
// The directory holding the root overlayfs
#define OSTREE_DEPLOYMENT_ROOT_TRANSIENT_DIR "root-transient"

// Written by ostree admin unlock --hotfix, read by ostree-prepare-root
#define OTCORE_HOTFIX_USR_OVL_WORK ".usr-ovl-work"

// The name of the composefs metadata root
#define OSTREE_COMPOSEFS_NAME ".ostree.cfs"
// The temporary directory used for the EROFS mount; it's in the .private directory
Expand Down
11 changes: 8 additions & 3 deletions src/switchroot/ostree-prepare-root.c
Original file line number Diff line number Diff line change
Expand Up @@ -632,12 +632,17 @@ main (int argc, char *argv[])
}

/* Prepare /usr.
* It may be either just a read-only bind-mount, or a persistent overlayfs. */
if (lstat (".usr-ovl-work", &stbuf) == 0)
* It may be either just a read-only bind-mount, or a persistent overlayfs if set up
* with ostree admin unlock --hotfix.
* Note however that root.transient as handled above is effectively a generalization of unlock
* --hotfix.
*/
if (lstat (OTCORE_HOTFIX_USR_OVL_WORK, &stbuf) == 0)
{
/* Do we have a persistent overlayfs for /usr? If so, mount it now. */
const char usr_ovl_options[]
= "lowerdir=" TMP_SYSROOT "/usr,upperdir=.usr-ovl-upper,workdir=.usr-ovl-work";
= "lowerdir=" TMP_SYSROOT
"/usr,upperdir=.usr-ovl-upper,workdir=" OTCORE_HOTFIX_USR_OVL_WORK;

/* Except overlayfs barfs if we try to mount it on a read-only
* filesystem. For this use case I think admins are going to be
Expand Down

0 comments on commit dd33cc6

Please sign in to comment.