chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prep v228: Substitute declaration masks (1/4)
[elogind.git]
/
src
/
core
/
mount-setup.c
diff --git
a/src/core/mount-setup.c
b/src/core/mount-setup.c
index ed95cbbc27abc66f837f4c64ab804428643ea6bc..f30adabbf07137ddb49d4f1f4a1fa4b8e25fcd1e 100644
(file)
--- a/
src/core/mount-setup.c
+++ b/
src/core/mount-setup.c
@@
-19,28
+19,32
@@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-#include <sys/mount.h>
#include <errno.h>
#include <errno.h>
+#include <ftw.h>
#include <stdlib.h>
#include <stdlib.h>
+#include <sys/mount.h>
#include <unistd.h>
#include <unistd.h>
-#include <ftw.h>
-#include "mount-setup.h"
-//#include "dev-setup.h"
+#include "alloc-util.h"
//#include "bus-util.h"
//#include "bus-util.h"
+#include "cgroup-util.h"
+//#include "dev-setup.h"
+//#include "efivars.h"
+#include "label.h"
//#include "log.h"
#include "macro.h"
//#include "log.h"
#include "macro.h"
-//#include "util.h"
-#include "label.h"
-//#include "set.h"
-//#include "strv.h"
+//#include "missing.h"
#include "mkdir.h"
#include "mkdir.h"
+#include "mount-setup.h"
+#include "mount-util.h"
#include "path-util.h"
#include "path-util.h"
-//#include "missing.h"
-#include "virt.h"
-//#include "efivars.h"
+//#include "set.h"
//#include "smack-util.h"
//#include "smack-util.h"
-#include "cgroup-util.h"
+//#include "strv.h"
+#include "string-util.h"
+#include "user-util.h"
+//#include "util.h"
+#include "virt.h"
typedef enum MountMode {
MNT_NONE = 0,
typedef enum MountMode {
MNT_NONE = 0,
@@
-181,7
+185,7
@@
static int mount_one(const MountPoint *p, bool relabel) {
return 0;
/* Skip securityfs in a container */
return 0;
/* Skip securityfs in a container */
- if (!(p->mode & MNT_IN_CONTAINER) && detect_container(
NULL
) > 0)
+ if (!(p->mode & MNT_IN_CONTAINER) && detect_container() > 0)
return 0;
/* The access mode here doesn't really matter too much, since
return 0;
/* The access mode here doesn't really matter too much, since
@@
-227,7
+231,7
@@
int mount_setup_early(void) {
int j;
j = mount_one(mount_table + i, false);
int j;
j = mount_one(mount_table + i, false);
- if (
r =
= 0)
+ if (
j != 0 && r >
= 0)
r = j;
}
r = j;
}
@@
-322,6
+326,11
@@
int mount_cgroup_controllers(char ***join_controllers) {
r = symlink(options, t);
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create symlink %s: %m", t);
r = symlink(options, t);
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create symlink %s: %m", t);
+#ifdef SMACK_RUN_LABEL
+ r = mac_smack_copy(t, options);
+ if (r < 0 && r != -EOPNOTSUPP)
+ return log_error_errno(r, "Failed to copy smack label from %s to %s: %m", options, t);
+#endif
}
}
}
}
}
}
@@
-366,7
+375,7
@@
int mount_setup(bool loaded_policy) {
int j;
j = mount_one(mount_table + i, loaded_policy);
int j;
j = mount_one(mount_table + i, loaded_policy);
- if (
r =
= 0)
+ if (
j != 0 && r >
= 0)
r = j;
}
r = j;
}
@@
-407,7
+416,7
@@
int mount_setup(bool loaded_policy) {
* nspawn and the container tools work out of the box. If
* specific setups need other settings they can reset the
* propagation mode to private if needed. */
* nspawn and the container tools work out of the box. If
* specific setups need other settings they can reset the
* propagation mode to private if needed. */
- if (detect_container(
NULL
) <= 0)
+ if (detect_container() <= 0)
if (mount(NULL, "/", NULL, MS_REC|MS_SHARED, NULL) < 0)
log_warning_errno(errno, "Failed to set up the root directory for shared mount propagation: %m");
if (mount(NULL, "/", NULL, MS_REC|MS_SHARED, NULL) < 0)
log_warning_errno(errno, "Failed to set up the root directory for shared mount propagation: %m");