mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 16:37:19 +09:00
Our shutdown binary that takes over as PID 1 when shutting down puts great efforts into a sync() that comes with a time-out once sync'ing process stops. If we'd add another dumb sync() here, we kinda defeat all it is good for. Hence, let's keep the sync() in for most codepats, but let's disable it for the final shutdown logic when we transition back into the exitrd. After all we sync()ed more than enough here, no need to sync() even more.
12 lines
491 B
C
12 lines
491 B
C
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||
#pragma once
|
||
|
||
#include <stdbool.h>
|
||
|
||
typedef enum SwitchRootFlags {
|
||
SWITCH_ROOT_DESTROY_OLD_ROOT = 1 << 0, /* rm -rf old root when switching – under the condition that it is backed by non-persistent tmpfs/ramfs/… */
|
||
SWITCH_ROOT_DONT_SYNC = 1 << 1, /* don't call sync() immediately before switching root */
|
||
} SwitchRootFlags;
|
||
|
||
int switch_root(const char *new_root, const char *old_root_after, SwitchRootFlags flags);
|