Skip to content

Commit

Permalink
Merge pull request #2475 from lucab/ups/prepare-root-check-first
Browse files Browse the repository at this point in the history
prepare-root: check for read-only sysroot status early on
  • Loading branch information
cgwalters authored Nov 1, 2021
2 parents b7efd16 + 63d0c4c commit 800289a
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/switchroot/ostree-prepare-root.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,20 @@ main(int argc, char *argv[])
err (EXIT_FAILURE, "failed to umount proc from /proc");
}

/* Query the repository configuration - this is an operating system builder
* choice. More info: https://github.com/ostreedev/ostree/pull/1767
*/
const bool sysroot_readonly = sysroot_is_configured_ro (root_arg);
const bool sysroot_currently_writable = !path_is_on_readonly_fs (root_arg);
#ifdef USE_LIBSYSTEMD
sd_journal_send ("MESSAGE=filesystem at %s currently writable: %d", root_arg,
(int)sysroot_currently_writable,
NULL);
sd_journal_send ("MESSAGE=sysroot.readonly configuration value: %d",
(int)sysroot_readonly,
NULL);
#endif

/* Work-around for a kernel bug: for some reason the kernel
* refuses switching root if any file systems are mounted
* MS_SHARED. Hence remount them MS_PRIVATE here as a
Expand All @@ -235,20 +249,6 @@ main(int argc, char *argv[])
if (chdir (deploy_path) < 0)
err (EXIT_FAILURE, "failed to chdir to deploy_path");

/* Query the repository configuration - this is an operating system builder
* choice. More info: https://github.com/ostreedev/ostree/pull/1767
*/
const bool sysroot_readonly = sysroot_is_configured_ro (root_arg);
const bool sysroot_currently_writable = !path_is_on_readonly_fs (root_arg);
#ifdef USE_LIBSYSTEMD
sd_journal_send ("MESSAGE=filesystem at %s currently writable: %d", root_arg,
(int)sysroot_currently_writable,
NULL);
sd_journal_send ("MESSAGE=sysroot.readonly configuration value: %d",
(int)sysroot_readonly,
NULL);
#endif

if (sysroot_readonly)
{
if (!sysroot_currently_writable)
Expand Down

0 comments on commit 800289a

Please sign in to comment.