Merge pull request #2475 from lucab/ups/prepare-root-check-first
prepare-root: check for read-only sysroot status early on
This commit is contained in:
commit
800289a8db
|
|
@ -216,6 +216,20 @@ main(int argc, char *argv[])
|
||||||
err (EXIT_FAILURE, "failed to umount proc from /proc");
|
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
|
/* Work-around for a kernel bug: for some reason the kernel
|
||||||
* refuses switching root if any file systems are mounted
|
* refuses switching root if any file systems are mounted
|
||||||
* MS_SHARED. Hence remount them MS_PRIVATE here as a
|
* MS_SHARED. Hence remount them MS_PRIVATE here as a
|
||||||
|
|
@ -235,20 +249,6 @@ main(int argc, char *argv[])
|
||||||
if (chdir (deploy_path) < 0)
|
if (chdir (deploy_path) < 0)
|
||||||
err (EXIT_FAILURE, "failed to chdir to deploy_path");
|
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_readonly)
|
||||||
{
|
{
|
||||||
if (!sysroot_currently_writable)
|
if (!sysroot_currently_writable)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue