Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
steam
systemd
Commits
b925e726
Commit
b925e726
authored
Mar 09, 2011
by
Lennart Poettering
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dev: use /dev/.run/systemd as runtime directory, instead of /dev/.systemd
parent
29d958ce
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
60 additions
and
57 deletions
+60
-57
TODO
TODO
+4
-0
man/sd_readahead.xml
man/sd_readahead.xml
+1
-1
src/ask-password-api.c
src/ask-password-api.c
+3
-3
src/fsck.c
src/fsck.c
+1
-1
src/gnome-ask-password-agent.vala
src/gnome-ask-password-agent.vala
+1
-1
src/machine-id-setup.c
src/machine-id-setup.c
+7
-7
src/main.c
src/main.c
+1
-3
src/manager.c
src/manager.c
+8
-10
src/mount-setup.c
src/mount-setup.c
+5
-1
src/path-lookup.c
src/path-lookup.c
+1
-1
src/quotacheck.c
src/quotacheck.c
+1
-1
src/readahead-collect.c
src/readahead-collect.c
+2
-2
src/readahead-common.c
src/readahead-common.c
+7
-7
src/readahead-replay.c
src/readahead-replay.c
+1
-1
src/sd-readahead.c
src/sd-readahead.c
+5
-5
src/selinux-setup.c
src/selinux-setup.c
+2
-3
src/tty-ask-password-agent.c
src/tty-ask-password-agent.c
+6
-6
systemd.pc.in
systemd.pc.in
+1
-1
units/systemd-ask-password-console.path
units/systemd-ask-password-console.path
+1
-1
units/systemd-ask-password-plymouth.path
units/systemd-ask-password-plymouth.path
+1
-1
units/systemd-ask-password-wall.path
units/systemd-ask-password-wall.path
+1
-1
No files found.
TODO
View file @
b925e726
...
...
@@ -20,10 +20,14 @@ F15:
* save/restore tool for SysV as requested by FPC
* optionally create watched directories in .path units
Features:
* consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
* store time when conditions where checked to inform admins about whether a unit was considered at all
* consider services with any kind of link in /etc/systemd/system enabled
* show failure error string in "systemctl status"
...
...
man/sd_readahead.xml
View file @
b925e726
...
...
@@ -123,7 +123,7 @@
reference implementation.
</para>
<para>
Internally, this function creates a file in
<filename>
/dev/.systemd/readahead/
</filename>
which is
<filename>
/dev/.
run/
systemd/readahead/
</filename>
which is
then used as flag file to notify the read-ahead
subsystem.
</para>
...
...
src/ask-password-api.c
View file @
b925e726
...
...
@@ -223,7 +223,7 @@ static int create_socket(char **name) {
zero
(
sa
);
sa
.
un
.
sun_family
=
AF_UNIX
;
snprintf
(
sa
.
un
.
sun_path
,
sizeof
(
sa
.
un
.
sun_path
)
-
1
,
"/dev/.systemd/ask-password/sck.%llu"
,
random_ull
());
snprintf
(
sa
.
un
.
sun_path
,
sizeof
(
sa
.
un
.
sun_path
)
-
1
,
"/dev/.
run/
systemd/ask-password/sck.%llu"
,
random_ull
());
if
(
bind
(
fd
,
&
sa
.
sa
,
offsetof
(
struct
sockaddr_un
,
sun_path
)
+
strlen
(
sa
.
un
.
sun_path
))
<
0
)
{
r
=
-
errno
;
...
...
@@ -265,7 +265,7 @@ int ask_password_agent(
_FD_MAX
};
char
temp
[]
=
"/dev/.systemd/ask-password/tmp.XXXXXX"
;
char
temp
[]
=
"/dev/.
run/
systemd/ask-password/tmp.XXXXXX"
;
char
final
[
sizeof
(
temp
)]
=
""
;
int
fd
=
-
1
,
r
;
FILE
*
f
=
NULL
;
...
...
@@ -276,7 +276,7 @@ int ask_password_agent(
assert
(
_passphrases
);
mkdir_p
(
"/dev/.systemd/ask-password"
,
0755
);
mkdir_p
(
"/dev/.
run/
systemd/ask-password"
,
0755
);
if
((
fd
=
mkostemp
(
temp
,
O_CLOEXEC
|
O_CREAT
|
O_WRONLY
))
<
0
)
{
log_error
(
"Failed to create password file: %m"
);
...
...
src/fsck.c
View file @
b925e726
...
...
@@ -262,7 +262,7 @@ int main(int argc, char *argv[]) {
r
=
EXIT_SUCCESS
;
if
(
status
.
si_code
==
CLD_EXITED
&&
(
status
.
si_status
&
1
))
touch
(
"/dev/.systemd/quotacheck"
);
touch
(
"/dev/.
run/
systemd/quotacheck"
);
finish:
if
(
udev_device
)
...
...
src/gnome-ask-password-agent.vala
View file @
b925e726
...
...
@@ -91,7 +91,7 @@ public class MyStatusIcon : StatusIcon {
GLib
.
Object
(
icon_name
:
"dialog-password"
);
set_title
(
"System Password"
);
directory
=
File
.
new_for_path
(
"/dev/.systemd/ask-password/"
);
directory
=
File
.
new_for_path
(
"/dev/.
run/
systemd/ask-password/"
);
file_monitor
=
directory
.
monitor_directory
(
0
);
file_monitor
.
changed
.
connect
(
file_monitor_changed
);
...
...
src/machine-id-setup.c
View file @
b925e726
...
...
@@ -142,20 +142,20 @@ int machine_id_setup(void) {
fd
=
-
1
;
/* Hmm, we couldn't write it? So let's write it to
* /dev/.systemd/machine-id as a replacement */
* /dev/.
run/
systemd/machine-id as a replacement */
mkdir_p
(
"/dev/.systemd"
,
0755
);
mkdir_p
(
"/dev/.
run/
systemd"
,
0755
);
if
((
r
=
write_one_line_file
(
"/dev/.systemd/machine-id"
,
id
))
<
0
)
{
log_error
(
"Cannot write /dev/.systemd/machine-id: %s"
,
strerror
(
-
r
));
if
((
r
=
write_one_line_file
(
"/dev/.
run/
systemd/machine-id"
,
id
))
<
0
)
{
log_error
(
"Cannot write /dev/.
run/
systemd/machine-id: %s"
,
strerror
(
-
r
));
unlink
(
"/dev/.systemd/machine-id"
);
unlink
(
"/dev/.
run/
systemd/machine-id"
);
goto
finish
;
}
/* And now, let's mount it over */
r
=
mount
(
"/dev/.systemd/machine-id"
,
"/etc/machine-id"
,
"bind"
,
MS_BIND
|
MS_RDONLY
,
NULL
)
<
0
?
-
errno
:
0
;
unlink
(
"/dev/.systemd/machine-id"
);
r
=
mount
(
"/dev/.
run/
systemd/machine-id"
,
"/etc/machine-id"
,
"bind"
,
MS_BIND
|
MS_RDONLY
,
NULL
)
<
0
?
-
errno
:
0
;
unlink
(
"/dev/.
run/
systemd/machine-id"
);
if
(
r
<
0
)
log_error
(
"Failed to mount /etc/machine-id: %s"
,
strerror
(
-
r
));
...
...
src/main.c
View file @
b925e726
...
...
@@ -1044,7 +1044,7 @@ int main(int argc, char *argv[]) {
/* If Plymouth is being run make sure we show the status, so
* that there's something nice to see when people press Esc */
if
(
access
(
"/dev/.systemd/plymouth"
,
F_OK
)
>=
0
)
if
(
access
(
"/dev/.
run/
systemd/plymouth"
,
F_OK
)
>=
0
)
arg_show_status
=
true
;
if
(
arg_action
==
ACTION_HELP
)
{
...
...
@@ -1131,8 +1131,6 @@ int main(int argc, char *argv[]) {
machine_id_setup
();
loopback_setup
();
mkdir_p
(
"/dev/.systemd/ask-password/"
,
0755
);
test_mtab
();
test_usr
();
}
...
...
src/manager.c
View file @
b925e726
...
...
@@ -2550,22 +2550,20 @@ void manager_dispatch_bus_query_pid_done(
}
int
manager_open_serialization
(
Manager
*
m
,
FILE
**
_f
)
{
char
*
path
;
char
*
path
=
NULL
;
mode_t
saved_umask
;
int
fd
;
FILE
*
f
;
assert
(
_f
);
if
(
m
->
running_as
==
MANAGER_SYSTEM
)
{
mkdir_p
(
"/dev/.systemd"
,
0755
);
if
(
m
->
running_as
==
MANAGER_SYSTEM
)
asprintf
(
&
path
,
"/dev/.run/systemd/dump-%lu-XXXXXX"
,
(
unsigned
long
)
getpid
());
else
asprintf
(
&
path
,
"/tmp/systemd-dump-%lu-XXXXXX"
,
(
unsigned
long
)
getpid
());
if
(
asprintf
(
&
path
,
"/dev/.systemd/dump-%lu-XXXXXX"
,
(
unsigned
long
)
getpid
())
<
0
)
return
-
ENOMEM
;
}
else
{
if
(
asprintf
(
&
path
,
"/tmp/systemd-dump-%lu-XXXXXX"
,
(
unsigned
long
)
getpid
())
<
0
)
return
-
ENOMEM
;
}
if
(
!
path
)
return
-
ENOMEM
;
saved_umask
=
umask
(
0077
);
fd
=
mkostemp
(
path
,
O_RDWR
|
O_CLOEXEC
);
...
...
@@ -2862,7 +2860,7 @@ void manager_run_generators(Manager *m) {
if
(
!
m
->
generator_unit_path
)
{
char
*
p
;
char
system_path
[]
=
"/dev/.systemd/generator-XXXXXX"
,
char
system_path
[]
=
"/dev/.
run/
systemd/generator-XXXXXX"
,
user_path
[]
=
"/tmp/systemd-generator-XXXXXX"
;
if
(
!
(
p
=
mkdtemp
(
m
->
running_as
==
MANAGER_SYSTEM
?
system_path
:
user_path
)))
{
...
...
src/mount-setup.c
View file @
b925e726
...
...
@@ -242,7 +242,7 @@ int mount_setup(void) {
* appropriate labels, after mounting. The other virtual API
* file systems do not need. */
if
(
unlink
(
"/dev/.systemd
/
relabel-devtmpfs"
)
>=
0
)
if
(
unlink
(
"/dev/.systemd
-
relabel-devtmpfs"
)
>=
0
)
nftw
(
"/dev"
,
nftw_cb
,
64
,
FTW_MOUNT
|
FTW_PHYS
);
/* Create a few default symlinks, which are normally created
...
...
@@ -252,5 +252,9 @@ int mount_setup(void) {
NULSTR_FOREACH_PAIR
(
j
,
k
,
symlinks
)
symlink_and_label
(
j
,
k
);
/* Create a few directories we always want around */
mkdir
(
"/dev/.run/systemd"
,
0755
);
mkdir
(
"/dev/.run/systemd/ask-password"
,
0755
);
return
mount_cgroup_controllers
();
}
src/path-lookup.c
View file @
b925e726
...
...
@@ -183,7 +183,7 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as) {
if
(
!
(
p
->
unit_path
=
strv_new
(
/* If you modify this you also want to modify
* systemdsystemunitpath= in systemd.pc.in! */
"/dev/.systemd/system"
,
"/dev/.
run/
systemd/system"
,
SYSTEM_CONFIG_UNIT_PATH
,
"/etc/systemd/system"
,
"/usr/local/share/systemd/system"
,
...
...
src/quotacheck.c
View file @
b925e726
...
...
@@ -94,7 +94,7 @@ int main(int argc, char *argv[]) {
if
(
arg_skip
)
return
0
;
if
(
access
(
"/dev/.systemd/quotacheck"
,
F_OK
)
<
0
)
if
(
access
(
"/dev/.
run/
systemd/quotacheck"
,
F_OK
)
<
0
)
return
0
;
}
...
...
src/readahead-collect.c
View file @
b925e726
...
...
@@ -289,13 +289,13 @@ static int collect(const char *root) {
log_debug
(
"Collecting..."
);
if
(
access
(
"/dev/.systemd/readahead/cancel"
,
F_OK
)
>=
0
)
{
if
(
access
(
"/dev/.
run/
systemd/readahead/cancel"
,
F_OK
)
>=
0
)
{
log_debug
(
"Collection canceled"
);
r
=
-
ECANCELED
;
goto
finish
;
}
if
(
access
(
"/dev/.systemd/readahead/done"
,
F_OK
)
>=
0
)
{
if
(
access
(
"/dev/.
run/
systemd/readahead/done"
,
F_OK
)
>=
0
)
{
log_debug
(
"Got termination request"
);
goto
done
;
}
...
...
src/readahead-common.c
View file @
b925e726
...
...
@@ -167,11 +167,11 @@ int open_inotify(void) {
return
-
errno
;
}
mkdir
(
"/dev/.systemd"
,
0755
);
mkdir
(
"/dev/.systemd/readahead"
,
0755
);
mkdir
(
"/dev/.
run/
systemd"
,
0755
);
mkdir
(
"/dev/.
run/
systemd/readahead"
,
0755
);
if
(
inotify_add_watch
(
fd
,
"/dev/.systemd/readahead"
,
IN_CREATE
)
<
0
)
{
log_error
(
"Failed to watch /dev/.systemd/readahead: %m"
);
if
(
inotify_add_watch
(
fd
,
"/dev/.
run/
systemd/readahead"
,
IN_CREATE
)
<
0
)
{
log_error
(
"Failed to watch /dev/.
run/
systemd/readahead: %m"
);
close_nointr_nofail
(
fd
);
return
-
errno
;
}
...
...
@@ -183,10 +183,10 @@ ReadaheadShared *shared_get(void) {
int
fd
;
ReadaheadShared
*
m
=
NULL
;
mkdir
(
"/dev/.systemd"
,
0755
);
mkdir
(
"/dev/.systemd/readahead"
,
0755
);
mkdir
(
"/dev/.
run/
systemd"
,
0755
);
mkdir
(
"/dev/.
run/
systemd/readahead"
,
0755
);
if
((
fd
=
open
(
"/dev/.systemd/readahead/shared"
,
O_CREAT
|
O_RDWR
|
O_CLOEXEC
,
0644
))
<
0
)
{
if
((
fd
=
open
(
"/dev/.
run/
systemd/readahead/shared"
,
O_CREAT
|
O_RDWR
|
O_CLOEXEC
,
0644
))
<
0
)
{
log_error
(
"Failed to create shared memory segment: %m"
);
goto
finish
;
}
...
...
src/readahead-replay.c
View file @
b925e726
...
...
@@ -192,7 +192,7 @@ static int replay(const char *root) {
log_debug
(
"Replaying..."
);
if
(
access
(
"/dev/.systemd/readahead/noreplay"
,
F_OK
)
>=
0
)
{
if
(
access
(
"/dev/.
run/
systemd/readahead/noreplay"
,
F_OK
)
>=
0
)
{
log_debug
(
"Got termination request"
);
goto
done
;
}
...
...
src/sd-readahead.c
View file @
b925e726
...
...
@@ -42,8 +42,8 @@ static int touch(const char *path) {
#if !defined(DISABLE_SYSTEMD) && defined(__linux__)
int
fd
;
mkdir
(
"/dev/.systemd"
,
0755
);
mkdir
(
"/dev/.systemd/readahead"
,
0755
);
mkdir
(
"/dev/.
run/
systemd"
,
0755
);
mkdir
(
"/dev/.
run/
systemd/readahead"
,
0755
);
if
((
fd
=
open
(
path
,
O_WRONLY
|
O_CREAT
|
O_CLOEXEC
|
O_NOCTTY
,
0666
))
<
0
)
return
-
errno
;
...
...
@@ -66,11 +66,11 @@ int sd_readahead(const char *action) {
return
-
EINVAL
;
if
(
strcmp
(
action
,
"cancel"
)
==
0
)
return
touch
(
"/dev/.systemd/readahead/cancel"
);
return
touch
(
"/dev/.
run/
systemd/readahead/cancel"
);
else
if
(
strcmp
(
action
,
"done"
)
==
0
)
return
touch
(
"/dev/.systemd/readahead/done"
);
return
touch
(
"/dev/.
run/
systemd/readahead/done"
);
else
if
(
strcmp
(
action
,
"noreplay"
)
==
0
)
return
touch
(
"/dev/.systemd/readahead/noreplay"
);
return
touch
(
"/dev/.
run/
systemd/readahead/noreplay"
);
return
-
EINVAL
;
}
src/selinux-setup.c
View file @
b925e726
...
...
@@ -45,8 +45,7 @@ int selinux_setup(char *const argv[]) {
/* Before we load the policy we create a flag file to ensure
* that after the reexec we iterate through /dev to relabel
* things. */
mkdir_p
(
"/dev/.systemd"
,
0755
);
touch
(
"/dev/.systemd/relabel-devtmpfs"
);
touch
(
"/dev/.systemd-relabel-devtmpfs"
);
if
(
selinux_init_load_policy
(
&
enforce
)
==
0
)
{
log_debug
(
"Successfully loaded SELinux policy, reexecuting."
);
...
...
@@ -61,7 +60,7 @@ int selinux_setup(char *const argv[]) {
}
else
{
log_full
(
enforce
>
0
?
LOG_ERR
:
LOG_WARNING
,
"Failed to load SELinux policy."
);
unlink
(
"/dev/.systemd
/
relabel-devtmpfs"
);
unlink
(
"/dev/.systemd
-
relabel-devtmpfs"
);
if
(
enforce
>
0
)
return
-
EIO
;
...
...
src/tty-ask-password-agent.c
View file @
b925e726
...
...
@@ -431,7 +431,7 @@ static int wall_tty_block(void) {
if
((
r
=
get_ctty_devnr
(
&
devnr
))
<
0
)
return
-
r
;
if
(
asprintf
(
&
p
,
"/dev/.systemd/ask-password-block/%u:%u"
,
major
(
devnr
),
minor
(
devnr
))
<
0
)
if
(
asprintf
(
&
p
,
"/dev/.
run/
systemd/ask-password-block/%u:%u"
,
major
(
devnr
),
minor
(
devnr
))
<
0
)
return
-
ENOMEM
;
mkdir_parents
(
p
,
0700
);
...
...
@@ -475,7 +475,7 @@ static bool wall_tty_match(const char *path) {
* advantage that the block will automatically go away if the
* process dies. */
if
(
asprintf
(
&
p
,
"/dev/.systemd/ask-password-block/%u:%u"
,
major
(
st
.
st_rdev
),
minor
(
st
.
st_rdev
))
<
0
)
if
(
asprintf
(
&
p
,
"/dev/.
run/
systemd/ask-password-block/%u:%u"
,
major
(
st
.
st_rdev
),
minor
(
st
.
st_rdev
))
<
0
)
return
true
;
fd
=
open
(
p
,
O_WRONLY
|
O_CLOEXEC
|
O_NONBLOCK
|
O_NOCTTY
);
...
...
@@ -494,7 +494,7 @@ static int show_passwords(void) {
struct
dirent
*
de
;
int
r
=
0
;
if
(
!
(
d
=
opendir
(
"/dev/.systemd/ask-password"
)))
{
if
(
!
(
d
=
opendir
(
"/dev/.
run/
systemd/ask-password"
)))
{
if
(
errno
==
ENOENT
)
return
0
;
...
...
@@ -519,7 +519,7 @@ static int show_passwords(void) {
if
(
!
startswith
(
de
->
d_name
,
"ask."
))
continue
;
if
(
!
(
p
=
strappend
(
"/dev/.systemd/ask-password/"
,
de
->
d_name
)))
{
if
(
!
(
p
=
strappend
(
"/dev/.
run/
systemd/ask-password/"
,
de
->
d_name
)))
{
log_error
(
"Out of memory"
);
r
=
-
ENOMEM
;
goto
finish
;
...
...
@@ -558,14 +558,14 @@ static int watch_passwords(void) {
tty_block_fd
=
wall_tty_block
();
mkdir_p
(
"/dev/.systemd/ask-password"
,
0755
);
mkdir_p
(
"/dev/.
run/
systemd/ask-password"
,
0755
);
if
((
notify
=
inotify_init1
(
IN_CLOEXEC
))
<
0
)
{
r
=
-
errno
;
goto
finish
;
}
if
(
inotify_add_watch
(
notify
,
"/dev/.systemd/ask-password"
,
IN_CLOSE_WRITE
|
IN_MOVED_TO
)
<
0
)
{
if
(
inotify_add_watch
(
notify
,
"/dev/.
run/
systemd/ask-password"
,
IN_CLOSE_WRITE
|
IN_MOVED_TO
)
<
0
)
{
r
=
-
errno
;
goto
finish
;
}
...
...
systemd.pc.in
View file @
b925e726
...
...
@@ -11,7 +11,7 @@ systemdsystemunitdir=@systemunitdir@
systemduserunitdir=@pkgdatadir@/user
systemdsystemconfdir=@pkgsysconfdir@/system
systemduserconfdir=@pkgsysconfdir@/user
systemdsystemunitpath=/dev/.systemd/system:${systemdsystemconfdir}:/etc/systemd/system:/usr/local/share/systemd/system:/usr/share/systemd/system:/lib/systemd/system:${systemdsystemunitdir}
systemdsystemunitpath=/dev/.
run/
systemd/system:${systemdsystemconfdir}:/etc/systemd/system:/usr/local/share/systemd/system:/usr/share/systemd/system:/lib/systemd/system:${systemdsystemunitdir}
Name: systemd
Description: systemd System and Service Manager
...
...
units/systemd-ask-password-console.path
View file @
b925e726
...
...
@@ -12,4 +12,4 @@ Conflicts=shutdown.target
Before=basic.target shutdown.target
[Path]
DirectoryNotEmpty=/dev/.systemd/ask-password
DirectoryNotEmpty=/dev/.
run/
systemd/ask-password
units/systemd-ask-password-plymouth.path
View file @
b925e726
...
...
@@ -12,4 +12,4 @@ Conflicts=shutdown.target systemd-ask-password-console.path systemd-ask-password
Before=basic.target shutdown.target
[Path]
DirectoryNotEmpty=/dev/.systemd/ask-password
DirectoryNotEmpty=/dev/.
run/
systemd/ask-password
units/systemd-ask-password-wall.path
View file @
b925e726
...
...
@@ -12,4 +12,4 @@ Conflicts=shutdown.target
Before=basic.target shutdown.target
[Path]
DirectoryNotEmpty=/dev/.systemd/ask-password
DirectoryNotEmpty=/dev/.
run/
systemd/ask-password
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment