chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nspawn: add /dev FD symlinks in container setup
[elogind.git]
/
src
/
nspawn
/
nspawn.c
diff --git
a/src/nspawn/nspawn.c
b/src/nspawn/nspawn.c
index 78b5602e58291875be9d676f2f26579953d7d160..40b99343d79c4fb2574fe52ba3b0a142b730de0a 100644
(file)
--- a/
src/nspawn/nspawn.c
+++ b/
src/nspawn/nspawn.c
@@
-53,6
+53,7
@@
#include "path-util.h"
#include "loopback-setup.h"
#include "sd-id128.h"
#include "path-util.h"
#include "loopback-setup.h"
#include "sd-id128.h"
+#include "dev-setup.h"
typedef enum LinkJournal {
LINK_NO,
typedef enum LinkJournal {
LINK_NO,
@@
-1187,13
+1188,13
@@
int main(int argc, char *argv[]) {
}
/* Turn directory into bind mount */
}
/* Turn directory into bind mount */
- if (mount(arg_directory, arg_directory, "bind", MS_BIND, NULL) < 0) {
+ if (mount(arg_directory, arg_directory, "bind", MS_BIND
|MS_REC
, NULL) < 0) {
log_error("Failed to make bind mount.");
goto child_fail;
}
if (arg_read_only)
log_error("Failed to make bind mount.");
goto child_fail;
}
if (arg_read_only)
- if (mount(arg_directory, arg_directory, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL) < 0) {
+ if (mount(arg_directory, arg_directory, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY
|MS_REC
, NULL) < 0) {
log_error("Failed to make read-only.");
goto child_fail;
}
log_error("Failed to make read-only.");
goto child_fail;
}
@@
-1204,6
+1205,8
@@
int main(int argc, char *argv[]) {
if (copy_devnodes(arg_directory) < 0)
goto child_fail;
if (copy_devnodes(arg_directory) < 0)
goto child_fail;
+ dev_setup(arg_directory);
+
if (setup_dev_console(arg_directory, console) < 0)
goto child_fail;
if (setup_dev_console(arg_directory, console) < 0)
goto child_fail;