diff options
Diffstat (limited to '')
-rw-r--r-- | src/shared/switch-root.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/shared/switch-root.h b/src/shared/switch-root.h new file mode 100644 index 0000000..ba0d280 --- /dev/null +++ b/src/shared/switch-root.h @@ -0,0 +1,13 @@ +/* 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 */ + SWITCH_ROOT_RECURSIVE_RUN = 1 << 2, /* move /run/ with MS_REC from old to new root */ +} SwitchRootFlags; + +int switch_root(const char *new_root, const char *old_root_after, SwitchRootFlags flags); |