Skip to content
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

breaks systemd-tmpfiles-setup.service #72

Open
mrvn opened this issue Jun 23, 2017 · 0 comments
Open

breaks systemd-tmpfiles-setup.service #72

mrvn opened this issue Jun 23, 2017 · 0 comments

Comments

@mrvn
Copy link

mrvn commented Jun 23, 2017

When I boot a live filesystem for centos7 that creates a unionfs-fuse for / the systemd-tmpfiles-setup service fails:

unionfs script (set -x output)

+ FUSE_OPT='-s -o default_permissions -o allow_other -o use_ino -o nonempty -o suid -o big_writes -o max_write=131072'
+ UNION_OPT='-o cow,chroot=/unionfs,max_files=32768,noinitgroups'
+ ulimit -n 32768
+ /sbin/modprobe fuse
+ /bin/mkdir -p /unionfs/ramdisk
+ /bin/mount --bind / /unionfs/ramdisk
+ /bin/mkdir -p /unionfs/nfs
+ /bin/mkdir -p /unionfs/union
+ /usr/bin/unionfs -s -o default_permissions -o allow_other -o use_ino -o nonempty -o suid -o big_writes -o max_write=131072 -o cow,chroot=/unionfs,max_files=32768,noinitgroups /ramdisk=RW:/nfs=RO /unionfs/union
+ mount --bind /unionfs /unionfs/union/unionfs
+ mount --bind /dev /unionfs/union/dev
+ cd /unionfs/union
+ /bin/mkdir oldroot
+ /sbin/pivot_root . oldroot
+ exec /sbin/chroot . /lib/systemd/systemd
[FAILED] Failed to start Create Volatile Files and Directories.
See 'systemctl status systemd-tmpfiles-setup.service' for details.

% systemctl status systemd-tmpfiles-setup.service -l
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
   Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2017-06-23 15:33:13 CEST; 2min 11s ago
     Docs: man:tmpfiles.d(5)
           man:systemd-tmpfiles(8)
  Process: 406 ExecStart=/usr/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=1/FAILURE)
 Main PID: 406 (code=exited, status=1/FAILURE)

Jun 23 15:33:13 beo-01 systemd[1]: Starting Create Volatile Files and Directories...
Jun 23 15:33:13 beo-01 systemd-tmpfiles[406]: Failed to create directory or subvolume "/var/tmp": Invalid argument
Jun 23 15:33:13 beo-01 systemd-tmpfiles[406]: Failed to create directory or subvolume "/var/lib/machines": Invalid argument
Jun 23 15:33:13 beo-01 systemd-tmpfiles[406]: Failed to create directory or subvolume "/tmp": Invalid argument
Jun 23 15:33:13 beo-01 systemd[1]: systemd-tmpfiles-setup.service: main process exited, code=exited, status=1/FAILURE
Jun 23 15:33:13 beo-01 systemd[1]: Failed to start Create Volatile Files and Directories.
Jun 23 15:33:13 beo-01 systemd[1]: Unit systemd-tmpfiles-setup.service entered failed state.
Jun 23 15:33:13 beo-01 systemd[1]: systemd-tmpfiles-setup.service failed.

Without the unionfs everything works. The interesting thing is that the 3 entries that fail (there are many more) are the only ones where systemd is supposed to create a btrfs subvolume if the FS is btrfs. In strace I do see the ioctl for that, which gives an error. But it seems not the error systemd expects and (from googling old systemd issues) only a ENOTTY error will make it fall back to creating a directory.

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

No branches or pull requests

1 participant