Skip to content

systemd-tmpfiles don't work on kernel without support AT_EMPTY_PATH #689

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
shaba opened this issue Jul 23, 2015 · 7 comments
Closed

systemd-tmpfiles don't work on kernel without support AT_EMPTY_PATH #689

shaba opened this issue Jul 23, 2015 · 7 comments
Labels

Comments

@shaba
Copy link
Contributor

shaba commented Jul 23, 2015

Hi.
We(ALTLinux) are use systemd utils for SysV init too. For example, rc.sysinit use systemd-modules-load,systemd-sysctl, rc.d/udev use systemd-tmpfiles.
Also, we are use old kernel ( kernel-2.6.32-ovz-042stab108.6) for openvz (with SysV + systemd-utils)
Sinse systemd-v220, after 48b8aaa commit, systemd-tmpfiles check AT_EMPTY_PATH and show error "Failed to fstat() file /foo: Invalid argument"

strace -P/home -P/srv systemd-tmpfiles --create /lib/tmpfiles.d/home.conf
mkdir("/home", 0755) = -1 EEXIST (File exists)
lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home", O_RDONLY|O_NOFOLLOW|O_NOATIME|O_CLOEXEC|O_PATH) = 3
newfstatat(3, "", 0x7fff188ae9a0, AT_EMPTY_PATH) = -1 EINVAL (Invalid argument)
Failed to fstat() file /home: Invalid argument
close(3) = 0
mkdir("/srv", 0755) = -1 EEXIST (File exists)
lstat("/srv", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/srv", O_RDONLY|O_NOFOLLOW|O_NOATIME|O_CLOEXEC|O_PATH) = 3
newfstatat(3, "", 0x7fff188ae9a0, AT_EMPTY_PATH) = -1 EINVAL (Invalid argument)
Failed to fstat() file /srv: Invalid argument
close(3) = 0

@shaba shaba changed the title systemd-tmpfiles don;t work on kernel without support AT_EMPTY_PATH systemd-tmpfiles don't work on kernel without support AT_EMPTY_PATH Jul 23, 2015
@zonque
Copy link
Member

zonque commented Jul 23, 2015

Sorry, but 2.6.32 is well over 5.5 years old, we shouldn't work around such ancient versions.

AT_EMPTY_PATH was introduced in v2.6.39, and systemd, including all its components, currently depends on >= v3.7.

@shaba
Copy link
Contributor Author

shaba commented Jul 23, 2015

sorry, this dublicate #421

@zonque
Copy link
Member

zonque commented Jul 23, 2015

Hmm, what's the relation to #421 here?

@shaba
Copy link
Contributor Author

shaba commented Jul 23, 2015

old kernel without AT_EMPTY_PATH ?

@zonque
Copy link
Member

zonque commented Jul 23, 2015

I cannot see how #421 is about AM_EMPTY_PATH. Confused.

Anyway, if you want to solve this issue for you, you need to carry a patch downstream. Otherwise, I'd strongly suggest to base your system on a much newer kernel version. Relying on such an old kernel is a dead end.

@poettering
Copy link
Member

@zonque see the comment #421 (comment) regarding AT_EMPTY_PATH. I think @shaba is right, it's the same issue with too old kernels that we don't support in systemd anymore.

@zonque
Copy link
Member

zonque commented Jul 23, 2015

Ah, sorry, in the comments. Ok then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants