]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/mount-util.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
9 /* 4MB for contents of regular files, 64k inodes for directories, symbolic links and device specials,
10 using large storage array systems as a baseline */
11 #define TMPFS_LIMITS_DEV ",size=4m,nr_inodes=64k"
12 /* Very little, if any use expected */
13 #define TMPFS_LIMITS_EMPTY_OR_ALMOST ",size=4m,nr_inodes=1k"
14 #define TMPFS_LIMITS_SYS TMPFS_LIMITS_EMPTY_OR_ALMOST
15 #define TMPFS_LIMITS_SYS_FS_CGROUP TMPFS_LIMITS_EMPTY_OR_ALMOST
16 /* On an extremely small device with only 256MB of RAM, 20% of RAM for /run should be enough for re-exec of
17 PID1 because 16MB of free space is required. */
18 #define TMPFS_LIMITS_RUN ",size=20%,nr_inodes=800k"
19 /* 10% of RAM (using 16GB of RAM as a baseline) translates to 400k inodes (assuming 4k each) and 25%
20 translates to 1M inodes */
21 #define TMPFS_LIMITS_TMP ",size=10%,nr_inodes=400k"
22 #define TMPFS_LIMITS_DEV_SHM TMPFS_LIMITS_TMP
23 #define TMPFS_LIMITS_TEMPORARY_FS TMPFS_LIMITS_TMP
24 /* More space for volatile root and /var */
25 #define TMPFS_LIMITS_VAR ",size=25%,nr_inodes=1m"
26 #define TMPFS_LIMITS_ROOTFS TMPFS_LIMITS_VAR
27 #define TMPFS_LIMITS_VOLATILE_STATE TMPFS_LIMITS_VAR
29 int repeat_unmount ( const char * path
, int flags
);
30 int umount_recursive ( const char * target
, int flags
);
31 int bind_remount_recursive ( const char * prefix
, unsigned long new_flags
, unsigned long flags_mask
, char ** deny_list
);
32 int bind_remount_recursive_with_mountinfo ( const char * prefix
, unsigned long new_flags
, unsigned long flags_mask
, char ** deny_list
, FILE * proc_self_mountinfo
);
33 int bind_remount_one_with_mountinfo ( const char * path
, unsigned long new_flags
, unsigned long flags_mask
, FILE * proc_self_mountinfo
);
35 int mount_move_root ( const char * path
);
37 DEFINE_TRIVIAL_CLEANUP_FUNC ( FILE *, endmntent
);
38 #define _cleanup_endmntent_ _cleanup_(endmntentp)
47 int umount_verbose ( const char * where
);
49 int mount_option_mangle (
51 unsigned long mount_flags
,
52 unsigned long * ret_mount_flags
,
53 char ** ret_remaining_options
);
55 int mode_to_inaccessible_node ( const char * runtime_dir
, mode_t mode
, char ** dest
);