mount-setup: introduce mount_points_setup

The mount_setup_early() and mount_setup() contain almost the same
pieces of code which calls mount_one() for a certain mount point
from the mount_table. This patch introduces mount_points_setup()
helper to prevent code duplication.
This commit is contained in:
Alexander Kuleshov
2016-02-03 01:03:12 +06:00
parent c5c41f1e57
commit 400fac0609
+12 -15
View File
@@ -199,18 +199,14 @@ static int mount_one(const MountPoint *p, bool relabel) {
return 1;
}
int mount_setup_early(void) {
static int mount_points_setup(unsigned n, bool loaded_policy) {
unsigned i;
int r = 0;
assert_cc(N_EARLY_MOUNT <= ELEMENTSOF(mount_table));
/* Do a minimal mount of /proc and friends to enable the most
* basic stuff, such as SELinux */
for (i = 0; i < N_EARLY_MOUNT; i ++) {
for (i = 0; i < n; i ++) {
int j;
j = mount_one(mount_table + i, false);
j = mount_one(mount_table + i, loaded_policy);
if (j != 0 && r >= 0)
r = j;
}
@@ -218,6 +214,14 @@ int mount_setup_early(void) {
return r;
}
int mount_setup_early(void) {
assert_cc(N_EARLY_MOUNT <= ELEMENTSOF(mount_table));
/* Do a minimal mount of /proc and friends to enable the most
* basic stuff, such as SELinux */
return mount_points_setup(N_EARLY_MOUNT, false);
}
int mount_cgroup_controllers(char ***join_controllers) {
_cleanup_set_free_free_ Set *controllers = NULL;
int r;
@@ -352,16 +356,9 @@ static int nftw_cb(
#endif
int mount_setup(bool loaded_policy) {
unsigned i;
int r = 0;
for (i = 0; i < ELEMENTSOF(mount_table); i ++) {
int j;
j = mount_one(mount_table + i, loaded_policy);
if (j != 0 && r >= 0)
r = j;
}
r = mount_points_setup(ELEMENTSOF(mount_table), loaded_policy);
if (r < 0)
return r;